diff options
author | android-autoroll <android-autoroll@skia-public.iam.gserviceaccount.com> | 2021-09-10 17:42:20 +0000 |
---|---|---|
committer | android-autoroll <android-autoroll@skia-public.iam.gserviceaccount.com> | 2021-09-10 17:42:20 +0000 |
commit | d2f0284bc3ec6c00861cfb0147bee9406a0b74e8 (patch) | |
tree | f44520571d3af1de53d209b88390d73e4c245dcd | |
parent | 30b3c52f44a22edf16cf7ff302799891d46ec38f (diff) | |
parent | ac453e29bffd39333e4397ac468d2557cdec8b2e (diff) | |
download | angle-d2f0284bc3ec6c00861cfb0147bee9406a0b74e8.tar.gz |
Roll ANGLE from 856a0e03402b to ac453e29bffd (16 revisions)
https://chromium.googlesource.com/angle/angle.git/+log/856a0e03402b..ac453e29bffd
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-android-autoroll
Please CC cnorthrop@google.com on the revert to ensure that a human
is aware of the problem.
To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Test: Presubmit checks will test this change.
Exempt-From-Owner-Approval: The autoroll bot does not require owner approval.
Bug: b/186881553
Bug: b/196456356
Change-Id: Ic723c1f0e92c86bde3de37b54b2f12feee26fd7f
74 files changed, 2081 insertions, 991 deletions
diff --git a/Android.bp b/Android.bp index cf640c0ff8..616a2d91a1 100644 --- a/Android.bp +++ b/Android.bp @@ -16,7 +16,7 @@ cc_defaults { cflags: [ "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -83,7 +83,7 @@ cc_defaults { "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", "-DANGLE_USE_EGL_LOADER", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DEGL_EGLEXT_PROTOTYPES", @@ -180,7 +180,7 @@ cc_library_shared { "-DANGLE_GLESV2_LIBRARY_NAME=\"libGLESv2_angle\"", "-DANGLE_USE_ABSEIL", "-DANGLE_USE_EGL_LOADER", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DEGLAPI=__attribute__((visibility(\"default\")))", @@ -277,7 +277,7 @@ cc_library_shared { cflags: [ "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DEGL_EGLEXT_PROTOTYPES", @@ -334,7 +334,7 @@ cc_defaults { cflags: [ "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -393,7 +393,7 @@ cc_defaults { "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", "-DANGLE_SHARED_LIBVULKAN=1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -480,7 +480,7 @@ cc_defaults { "-DANGLE_USE_ABSEIL", "-DANGLE_VK_LAYERS_DIR=\"angledata\"", "-DANGLE_VK_MOCK_ICD_JSON=\"angledata/VkICD_mock_icd.json\"", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -528,7 +528,7 @@ cc_defaults { cflags: [ "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -574,7 +574,7 @@ cc_defaults { "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", "-DANGLE_SHARED_LIBVULKAN=1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -649,7 +649,7 @@ cc_defaults { "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", "-DANGLE_USE_ABSEIL", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -712,7 +712,7 @@ cc_defaults { "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", "-DANGLE_USE_ABSEIL", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -835,7 +835,7 @@ cc_defaults { "-DANGLE_SHARED_LIBVULKAN=1", "-DANGLE_USE_ABSEIL", "-DANGLE_USE_CUSTOM_VULKAN_CMD_BUFFERS=1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -1173,7 +1173,7 @@ cc_library_static { cflags: [ "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -1285,7 +1285,7 @@ cc_library_static { cflags: [ "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -1391,7 +1391,7 @@ cc_defaults { cflags: [ "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DGLSLANG_ANGLE", @@ -1444,7 +1444,7 @@ cc_defaults { cflags: [ "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -1503,7 +1503,7 @@ cc_defaults { "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", "-DANGLE_USE_ABSEIL", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -1543,7 +1543,7 @@ cc_defaults { cflags: [ "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -1582,7 +1582,7 @@ cc_defaults { cflags: [ "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -1640,7 +1640,7 @@ cc_defaults { "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", "-DANGLE_USE_ABSEIL", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -1699,7 +1699,7 @@ cc_defaults { "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", "-DANGLE_USE_ABSEIL", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -1771,7 +1771,7 @@ cc_library_static { "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", "-DANGLE_USE_ABSEIL", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -1947,6 +1947,7 @@ cc_library_static { "src/compiler/translator/tree_util/FindSymbolNode.cpp", "src/compiler/translator/tree_util/IntermNodePatternMatcher.cpp", "src/compiler/translator/tree_util/IntermNode_util.cpp", + "src/compiler/translator/tree_util/IntermRebuild.cpp", "src/compiler/translator/tree_util/IntermTraverse.cpp", "src/compiler/translator/tree_util/ReplaceArrayOfMatrixVarying.cpp", "src/compiler/translator/tree_util/ReplaceClipCullDistanceVariable.cpp", @@ -1965,7 +1966,7 @@ cc_library_static { "-DANDROID_NDK_VERSION_ROLL=r22_1", "-DANGLE_ENABLE_VULKAN", "-DANGLE_USE_ABSEIL", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -2016,7 +2017,7 @@ cc_defaults { cflags: [ "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -2073,7 +2074,7 @@ cc_defaults { "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", "-DANGLE_USE_ABSEIL", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -2131,7 +2132,7 @@ cc_defaults { "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", "-DANGLE_USE_ABSEIL", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -2192,7 +2193,7 @@ cc_library_static { "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", "-DANGLE_USE_ABSEIL", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -2230,7 +2231,7 @@ cc_defaults { cflags: [ "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -2292,7 +2293,7 @@ cc_defaults { "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", "-DANGLE_USE_ABSEIL", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -2354,7 +2355,7 @@ cc_library_static { "-DANGLE_ENABLE_VULKAN", "-DANGLE_USE_ABSEIL", "-DANGLE_USE_CUSTOM_VULKAN_CMD_BUFFERS=1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -2397,7 +2398,7 @@ cc_defaults { cflags: [ "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -2468,7 +2469,7 @@ cc_defaults { cflags: [ "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -2541,7 +2542,7 @@ cc_defaults { "-DANDROID_NDK_VERSION_ROLL=r22_1", "-DARMV8_OS_ANDROID", "-DCRC32_ARMV8_CRC32", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -2583,7 +2584,7 @@ cc_defaults { "-DANDROID_NDK_VERSION_ROLL=r22_1", "-DARMV8_OS_ANDROID", "-DCRC32_ARMV8_CRC32", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -2625,7 +2626,7 @@ cc_defaults { cflags: [ "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -2669,7 +2670,7 @@ cc_defaults { cflags: [ "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -2738,7 +2739,7 @@ cc_defaults { cflags: [ "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -2798,7 +2799,7 @@ cc_library_static { cflags: [ "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -2892,7 +2893,7 @@ cc_library_static { cflags: [ "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -2949,7 +2950,7 @@ cc_defaults { cflags: [ "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -2990,7 +2991,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -3035,7 +3036,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -3084,7 +3085,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -3135,7 +3136,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -3179,7 +3180,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -3223,7 +3224,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -3271,7 +3272,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -3328,7 +3329,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -3374,7 +3375,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -3426,7 +3427,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -3479,7 +3480,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -3523,7 +3524,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -3571,7 +3572,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -3615,7 +3616,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -3671,7 +3672,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -3719,7 +3720,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -3770,7 +3771,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -3820,7 +3821,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -3869,7 +3870,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -3921,7 +3922,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -3970,7 +3971,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -4025,7 +4026,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -4083,7 +4084,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -4142,7 +4143,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -4194,7 +4195,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -4245,7 +4246,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -4295,7 +4296,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -4354,7 +4355,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -4402,7 +4403,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -4449,7 +4450,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -4506,7 +4507,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -4562,7 +4563,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -4608,7 +4609,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -4655,7 +4656,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -4703,7 +4704,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -4754,7 +4755,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -4819,7 +4820,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -4864,7 +4865,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -4916,7 +4917,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -4961,7 +4962,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -5016,7 +5017,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -5079,7 +5080,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -5136,7 +5137,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -5182,7 +5183,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -5230,7 +5231,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -5280,7 +5281,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -5326,7 +5327,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -5373,7 +5374,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -5418,7 +5419,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -5468,7 +5469,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -5515,7 +5516,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -5564,7 +5565,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -5614,7 +5615,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -5659,7 +5660,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -5704,7 +5705,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -5756,7 +5757,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -5808,7 +5809,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -5857,7 +5858,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -5912,7 +5913,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -5959,7 +5960,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -6004,7 +6005,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -6050,7 +6051,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -6095,7 +6096,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -6142,7 +6143,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -6186,7 +6187,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -6226,7 +6227,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -6271,7 +6272,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -6315,7 +6316,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -6361,7 +6362,7 @@ cc_defaults { "-DABSL_ALLOCATOR_NOTHROW=1", "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -6459,7 +6460,7 @@ cc_library_static { "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", "-DANGLE_USE_ABSEIL", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -6642,7 +6643,7 @@ cc_defaults { "-DANGLE_SHARED_LIBVULKAN=1", "-DANGLE_USE_ABSEIL", "-DANGLE_USE_CUSTOM_VULKAN_CMD_BUFFERS=1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -6741,7 +6742,7 @@ cc_defaults { "-DANGLE_SHARED_LIBVULKAN=1", "-DANGLE_USE_ABSEIL", "-DANGLE_USE_CUSTOM_VULKAN_CMD_BUFFERS=1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -6781,7 +6782,7 @@ cc_defaults { cflags: [ "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -6839,7 +6840,7 @@ cc_defaults { cflags: [ "-DANDROID", "-DANDROID_NDK_VERSION_ROLL=r22_1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DHAVE_SYS_UIO_H", @@ -6943,7 +6944,7 @@ cc_library_shared { "-DANGLE_SHARED_LIBVULKAN=1", "-DANGLE_USE_ABSEIL", "-DANGLE_USE_CUSTOM_VULKAN_CMD_BUFFERS=1", - "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-2\"", + "-DCR_CLANG_REVISION=\"llvmorg-14-init-3191-g0e03450a-1\"", "-DCR_LIBCXX_REVISION=79a2e924d96e2fc1e4b937c42efd08898fa472d7", "-DDYNAMIC_ANNOTATIONS_ENABLED=0", "-DEGL_EGLEXT_PROTOTYPES", @@ -930,10 +930,6 @@ config("angle_frame_capture_disabled") { defines = [ "ANGLE_CAPTURE_ENABLED=0" ] } -config("angle_frame_capture_enabled") { - defines = [ "ANGLE_CAPTURE_ENABLED=1" ] -} - angle_source_set("libANGLE") { public_deps = [ ":libANGLE_base" ] public_configs = [ ":angle_frame_capture_disabled" ] @@ -1021,17 +1017,24 @@ if (angle_has_rapidjson) { } } -angle_source_set("libANGLE_with_capture") { - public_deps = [ ":libANGLE_base" ] - deps = [ ":angle_compression" ] - public_configs = [ ":angle_frame_capture_enabled" ] - sources = libangle_capture_sources +assert(angle_has_frame_capture || !angle_with_capture_by_default) +if (angle_has_frame_capture) { + config("angle_frame_capture_enabled") { + defines = [ "ANGLE_CAPTURE_ENABLED=1" ] + } - if (angle_has_rapidjson) { - public_deps += [ ":angle_json_serializer" ] - sources += [ "src/libANGLE/capture/frame_capture_utils.cpp" ] - } else { - sources += [ "src/libANGLE/capture/frame_capture_utils_mock.cpp" ] + angle_source_set("libANGLE_with_capture") { + public_deps = [ ":libANGLE_base" ] + deps = [ ":angle_compression" ] + public_configs = [ ":angle_frame_capture_enabled" ] + sources = libangle_capture_sources + + if (angle_has_rapidjson) { + public_deps += [ ":angle_json_serializer" ] + sources += [ "src/libANGLE/capture/frame_capture_utils.cpp" ] + } else { + sources += [ "src/libANGLE/capture/frame_capture_utils_mock.cpp" ] + } } } @@ -1133,13 +1136,15 @@ angle_libGLESv2("libGLESv2") { } # Output capture lib when `angle_with_capture_by_default` disabled, vice versa. -angle_libGLESv2("libGLESv2_capture_complement") { - if (angle_with_capture_by_default) { - deps = [ ":libANGLE" ] - output_name += "_no_capture" - } else { - deps = [ ":libANGLE_with_capture" ] - output_name += "_with_capture" +if (angle_has_frame_capture) { + angle_libGLESv2("libGLESv2_capture_complement") { + if (angle_with_capture_by_default) { + deps = [ ":libANGLE" ] + output_name += "_no_capture" + } else { + deps = [ ":libANGLE_with_capture" ] + output_name += "_with_capture" + } } } @@ -34,7 +34,7 @@ vars = { 'checkout_android_native_support': 'checkout_android or checkout_chromeos', # Version of Chromium our Chromium-based DEPS are mirrored from. - 'chromium_revision': '3ce06be375f320f7d5887c2a38761cbb0db047f4', + 'chromium_revision': '6aa22be0c26ffa7e5020998616629b830c0796b3', # We never want to checkout chromium, # but need a dummy DEPS entry for the autoroller 'dummy_checkout_chromium': False, @@ -79,12 +79,12 @@ vars = { # Three lines of non-changing comments so that # the commit queue can handle CLs rolling catapult # and whatever else without interference from each other. - 'catapult_revision': '2331f088546de8f58dcc02daf8212254aaeb2d4c', + 'catapult_revision': '8141144003019719d7aff618ecb8f3d3f3d6d36a', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling luci-go # and whatever else without interference from each other. - 'luci_go': 'git_revision:3e1f1f7a109ed8aefc7feba94fa737f0b5b4847e', + 'luci_go': 'git_revision:7b62727dc713b47d7a7ce9bca27500cb8e82ebd7', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling android_sdk_build-tools_version @@ -119,7 +119,7 @@ vars = { deps = { 'build': { - 'url': '{chromium_git}/chromium/src/build.git@0cd7560da6e5561df324c1f6a60799d3f62427d7', + 'url': '{chromium_git}/chromium/src/build.git@0c04087fbf850f06f62336eeb5c355f857919e04', 'condition': 'not build_with_chromium', }, @@ -161,7 +161,7 @@ deps = { }, 'buildtools/third_party/libc++abi/trunk': { - 'url': '{chromium_git}/external/github.com/llvm/llvm-project/libcxxabi.git@fc376196a1b4365b542db5ef2a07dcd1b557aa35', + 'url': '{chromium_git}/external/github.com/llvm/llvm-project/libcxxabi.git@17de75220a90f23a16f9f87fbc5c00dce475b726', 'condition': 'not build_with_chromium', }, @@ -177,12 +177,12 @@ deps = { }, 'testing': { - 'url': '{chromium_git}/chromium/src/testing@3d3d7b154fb4ec6a593e09531da8aab7f1c17cd7', + 'url': '{chromium_git}/chromium/src/testing@2829dbd8e170a8968c63a00478c6ab7160665f82', 'condition': 'not build_with_chromium', }, 'third_party/abseil-cpp': { - 'url': '{chromium_git}/chromium/src/third_party/abseil-cpp@789af048b388657987c59d4da406859034fe310f', + 'url': '{chromium_git}/chromium/src/third_party/abseil-cpp@fec7b4e901bbb77d9af10db1c11cb9f6c2116b73', 'condition': 'not build_with_chromium', }, @@ -327,7 +327,7 @@ deps = { }, 'third_party/depot_tools': { - 'url': '{chromium_git}/chromium/tools/depot_tools.git@49a18738d0cc669cde1ee50202d3157099152bad', + 'url': '{chromium_git}/chromium/tools/depot_tools.git@e1482c55484acb20a6383bd9e458a0e1574d0a10', 'condition': 'not build_with_chromium', }, @@ -469,7 +469,7 @@ deps = { 'packages': [ { 'package': 'chromium/third_party/r8', - 'version': 'dvPOJ_8iAF6OHGO79d86VbJjyKj7Xn0SFxlVVC9LHdcC', + 'version': 'j4P6kTwiJeMkYRbaOqRCB-ZrYyISP0NrcyNNAd8MRM0C', }, ], 'condition': 'checkout_android and not build_with_chromium', @@ -491,7 +491,7 @@ deps = { }, 'third_party/SwiftShader': { - 'url': '{swiftshader_git}/SwiftShader@83556eae921f35728029c7a51a7b00398bd76ebf', + 'url': '{swiftshader_git}/SwiftShader@446e61c24b37e2d3cb1bd3334dd3854ec8f682bb', 'condition': 'not build_with_chromium', }, @@ -531,7 +531,7 @@ deps = { }, 'tools/clang': { - 'url': '{chromium_git}/chromium/src/tools/clang.git@195c102c5a6c13f21b08b991389814fe63e5dff7', + 'url': '{chromium_git}/chromium/src/tools/clang.git@664e4259b150e07f1a1e440459f59fbc68edb82f', 'condition': 'not build_with_chromium', }, @@ -566,7 +566,7 @@ deps = { }, 'tools/mb': { - 'url': '{chromium_git}/chromium/src/tools/mb@34e8fbf156bd89868a0fb31789506da4032dd8a8', + 'url': '{chromium_git}/chromium/src/tools/mb@c56679b89ffe059f1c5389b09c530cbe447de1f2', 'condition': 'not build_with_chromium', }, @@ -581,7 +581,7 @@ deps = { }, 'tools/perf': { - 'url': '{chromium_git}/chromium/src/tools/perf@997a49b937fed68eec0966f0af77de610095a01a', + 'url': '{chromium_git}/chromium/src/tools/perf@184ebcc93f893895c8037c5fed1bcddbb37812df', 'condition': 'not build_with_chromium', }, @@ -599,7 +599,7 @@ deps = { 'packages': [ { 'package': 'skia/tools/goldctl/linux-amd64', - 'version': 'piyuI_96IF7jF_1vY-tHI0jfepKADnKhEEILxpHKvz4C', + 'version': 'rnLFFuc3uwQMer-UqF4iPw87LYBXcTHecmsEr5XSsqEC', }, ], 'dep_type': 'cipd', @@ -610,7 +610,7 @@ deps = { 'packages': [ { 'package': 'skia/tools/goldctl/windows-amd64', - 'version': 'AfrF2K3fb2csgVwLyDcljBC9fLFeLBpCqtTzxBiyMxgC', + 'version': '93HPekEUblvrn33MgtM_mPQjnsJ5_IqJUTt3XiUUloYC', }, ], 'dep_type': 'cipd', @@ -621,7 +621,7 @@ deps = { 'packages': [ { 'package': 'skia/tools/goldctl/mac-amd64', - 'version': 'hLDvCRtQ02S_V4ABz5oABBehzUF-j18kIHZwnU6gctYC', + 'version': 'Js84h2dElAXI-6j3tIs5oGaaEymkLbyu50DlJXn6WJIC', }, ], 'dep_type': 'cipd', @@ -709,6 +709,16 @@ deps = { 'dep_type': 'cipd', 'condition': 'checkout_angle_restricted_traces', }, + 'src/tests/restricted_traces/blockman_go': { + 'packages': [ + { + 'package': 'angle/traces/blockman_go', + 'version': 'version:1', + }, + ], + 'dep_type': 'cipd', + 'condition': 'checkout_angle_restricted_traces', + }, 'src/tests/restricted_traces/brawl_stars': { 'packages': [ { diff --git a/gni/angle.gni b/gni/angle.gni index 5706d6f4d0..747070172c 100644 --- a/gni/angle.gni +++ b/gni/angle.gni @@ -117,6 +117,9 @@ declare_args() { # Currently Windows on Arm doesn't support OpenGL or Vulkan. is_win_arm64 = is_win && target_cpu == "arm64" + + # Frame capture code is enabled by default if rapidjson is available. + angle_has_frame_capture = angle_has_rapidjson } declare_args() { diff --git a/infra/config/generated/cr-buildbucket.cfg b/infra/config/generated/cr-buildbucket.cfg index 323e73965e..996f1bc161 100644 --- a/infra/config/generated/cr-buildbucket.cfg +++ b/infra/config/generated/cr-buildbucket.cfg @@ -432,6 +432,37 @@ buckets { } } builders { + name: "mac-exp" + swarming_host: "chromium-swarm.appspot.com" + dimensions: "os:Mac" + exe { + cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build" + cipd_version: "refs/heads/master" + cmd: "recipes" + } + properties: + '{' + ' "$build/goma": {' + ' "rpc_extra_params": "?prod",' + ' "server_host": "goma.chromium.org"' + ' },' + ' "builder_group": "angle",' + ' "platform": "mac",' + ' "recipe": "angle",' + ' "test_mode": "compile_and_test",' + ' "toolchain": "clang"' + '}' + build_numbers: YES + service_account: "angle-ci-builder@chops-service-accounts.iam.gserviceaccount.com" + experiments { + key: "luci.use_realms" + value: 100 + } + resultdb { + enable: true + } + } + builders { name: "mac-rel" swarming_host: "chromium-swarm.appspot.com" dimensions: "os:Mac" @@ -1228,6 +1259,37 @@ buckets { } } builders { + name: "mac-exp" + swarming_host: "chromium-swarm.appspot.com" + dimensions: "os:Mac" + exe { + cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build" + cipd_version: "refs/heads/master" + cmd: "recipes" + } + properties: + '{' + ' "$build/goma": {' + ' "rpc_extra_params": "?prod",' + ' "server_host": "goma.chromium.org"' + ' },' + ' "builder_group": "angle",' + ' "platform": "mac",' + ' "recipe": "angle",' + ' "test_mode": "compile_and_test",' + ' "toolchain": "clang"' + '}' + build_numbers: YES + service_account: "angle-try-builder@chops-service-accounts.iam.gserviceaccount.com" + experiments { + key: "luci.use_realms" + value: 100 + } + resultdb { + enable: true + } + } + builders { name: "mac-rel" swarming_host: "chromium-swarm.appspot.com" dimensions: "os:Mac" diff --git a/infra/config/generated/luci-milo.cfg b/infra/config/generated/luci-milo.cfg index 2e3012e4c9..bce57a0e2f 100644 --- a/infra/config/generated/luci-milo.cfg +++ b/infra/config/generated/luci-milo.cfg @@ -56,6 +56,11 @@ consoles { short_name: "dbg" } builders { + name: "buildbucket/luci.angle.ci/mac-exp" + category: "angle|mac|clang|x64" + short_name: "exp" + } + builders { name: "buildbucket/luci.angle.ci/mac-rel" category: "angle|mac|clang|x64" short_name: "rel" @@ -177,6 +182,9 @@ consoles { name: "buildbucket/luci.angle.try/mac-dbg" } builders { + name: "buildbucket/luci.angle.try/mac-exp" + } + builders { name: "buildbucket/luci.angle.try/mac-rel" } builders { diff --git a/infra/config/generated/luci-scheduler.cfg b/infra/config/generated/luci-scheduler.cfg index 3d1c61b7a7..93cf572825 100644 --- a/infra/config/generated/luci-scheduler.cfg +++ b/infra/config/generated/luci-scheduler.cfg @@ -135,6 +135,16 @@ job { } } job { + id: "mac-exp" + realm: "ci" + acl_sets: "ci" + buildbucket { + server: "cr-buildbucket.appspot.com" + bucket: "luci.angle.ci" + builder: "mac-exp" + } +} +job { id: "mac-rel" realm: "ci" acl_sets: "ci" @@ -292,6 +302,7 @@ trigger { triggers: "linux-nvidia-p400-perf" triggers: "linux-trace-rel" triggers: "mac-dbg" + triggers: "mac-exp" triggers: "mac-rel" triggers: "win-clang-x64-dbg" triggers: "win-clang-x64-rel" diff --git a/infra/config/main.star b/infra/config/main.star index a57a3f1cef..10a6fa3dae 100755 --- a/infra/config/main.star +++ b/infra/config/main.star @@ -230,6 +230,7 @@ def angle_builder(name, debug, cpu, toolchain = "clang", uwp = False, test_mode ) is_perf = "-perf" in name + is_experimental = "-exp" in name # Trace tests are only included automatically if files in the capture folder change. if test_mode == "trace_tests": @@ -251,6 +252,8 @@ def angle_builder(name, debug, cpu, toolchain = "clang", uwp = False, test_mode if is_perf: short_name = get_gpu_type_from_builder_name(name) + elif is_experimental: + short_name = "exp" elif debug: short_name = "dbg" else: @@ -282,7 +285,8 @@ def angle_builder(name, debug, cpu, toolchain = "clang", uwp = False, test_mode ) # Include all other bots in the CQ by default except the placeholder GCC configs. - if toolchain != "gcc": + # Also exclude experimental bots. + if toolchain != "gcc" and not is_experimental: luci.cq_tryjob_verifier( cq_group = "master", builder = "angle:try/" + name, @@ -350,6 +354,7 @@ angle_builder("linux-clang-rel", debug = False, cpu = "x64") angle_builder("linux-gcc-dbg", debug = True, cpu = "x64", toolchain = "gcc") angle_builder("linux-gcc-rel", debug = False, cpu = "x64", toolchain = "gcc") angle_builder("mac-dbg", debug = True, cpu = "x64") +angle_builder("mac-exp", debug = False, cpu = "x64") angle_builder("mac-rel", debug = False, cpu = "x64") angle_builder("win-clang-x86-dbg", debug = True, cpu = "x86") angle_builder("win-clang-x86-rel", debug = False, cpu = "x86") diff --git a/infra/specs/angle.json b/infra/specs/angle.json index 4d3eea558f..9f03116085 100644 --- a/infra/specs/angle.json +++ b/infra/specs/angle.json @@ -1964,6 +1964,245 @@ } ] }, + "mac-amd-exp": { + "gtest_tests": [ + { + "args": [ + "angle_deqp_egl_tests", + "--use-angle=gl", + "--bot-mode", + "--max-processes=1" + ], + "merge": { + "script": "//scripts/angle_deqp_test_merge.py" + }, + "name": "angle_deqp_egl_gl_tests", + "swarming": { + "can_use_on_swarming_builders": true, + "containment_type": "AUTO", + "dimension_sets": [ + { + "cpu": "x86-64", + "display_attached": "1", + "gpu": "1002:6821", + "hidpi": "1", + "os": "Mac-11.4", + "pool": "chromium.tests.gpu" + } + ], + "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" + }, + "test": "angle_deqp_egl_tests", + "test_id_prefix": "ninja://src/tests:angle_deqp_egl_tests/", + "use_isolated_scripts_api": true + }, + { + "args": [ + "angle_deqp_egl_tests", + "--use-angle=metal", + "--bot-mode" + ], + "merge": { + "script": "//scripts/angle_deqp_test_merge.py" + }, + "name": "angle_deqp_egl_metal_tests", + "swarming": { + "can_use_on_swarming_builders": true, + "containment_type": "AUTO", + "dimension_sets": [ + { + "cpu": "x86-64", + "display_attached": "1", + "gpu": "1002:6821", + "hidpi": "1", + "os": "Mac-11.4", + "pool": "chromium.tests.gpu" + } + ], + "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" + }, + "test": "angle_deqp_egl_tests", + "test_id_prefix": "ninja://src/tests:angle_deqp_egl_tests/", + "use_isolated_scripts_api": true + }, + { + "args": [ + "angle_deqp_gles2_tests", + "--use-angle=gl", + "--bot-mode" + ], + "merge": { + "script": "//scripts/angle_deqp_test_merge.py" + }, + "name": "angle_deqp_gles2_gl_tests", + "swarming": { + "can_use_on_swarming_builders": true, + "containment_type": "AUTO", + "dimension_sets": [ + { + "cpu": "x86-64", + "display_attached": "1", + "gpu": "1002:6821", + "hidpi": "1", + "os": "Mac-11.4", + "pool": "chromium.tests.gpu" + } + ], + "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" + }, + "test": "angle_deqp_gles2_tests", + "test_id_prefix": "ninja://src/tests:angle_deqp_gles2_tests/", + "use_isolated_scripts_api": true + }, + { + "args": [ + "angle_deqp_gles2_tests", + "--use-angle=metal", + "--bot-mode" + ], + "merge": { + "script": "//scripts/angle_deqp_test_merge.py" + }, + "name": "angle_deqp_gles2_metal_tests", + "swarming": { + "can_use_on_swarming_builders": true, + "containment_type": "AUTO", + "dimension_sets": [ + { + "cpu": "x86-64", + "display_attached": "1", + "gpu": "1002:6821", + "hidpi": "1", + "os": "Mac-11.4", + "pool": "chromium.tests.gpu" + } + ], + "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" + }, + "test": "angle_deqp_gles2_tests", + "test_id_prefix": "ninja://src/tests:angle_deqp_gles2_tests/", + "use_isolated_scripts_api": true + }, + { + "args": [ + "angle_deqp_gles3_tests", + "--use-angle=gl", + "--bot-mode" + ], + "merge": { + "script": "//scripts/angle_deqp_test_merge.py" + }, + "name": "angle_deqp_gles3_gl_tests", + "swarming": { + "can_use_on_swarming_builders": true, + "containment_type": "AUTO", + "dimension_sets": [ + { + "cpu": "x86-64", + "display_attached": "1", + "gpu": "1002:6821", + "hidpi": "1", + "os": "Mac-11.4", + "pool": "chromium.tests.gpu" + } + ], + "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", + "shards": 2 + }, + "test": "angle_deqp_gles3_tests", + "test_id_prefix": "ninja://src/tests:angle_deqp_gles3_tests/", + "use_isolated_scripts_api": true + }, + { + "args": [ + "angle_deqp_gles3_tests", + "--use-angle=metal", + "--flaky-retries=2", + "--bot-mode" + ], + "merge": { + "script": "//scripts/angle_deqp_test_merge.py" + }, + "name": "angle_deqp_gles3_metal_tests", + "swarming": { + "can_use_on_swarming_builders": true, + "containment_type": "AUTO", + "dimension_sets": [ + { + "cpu": "x86-64", + "display_attached": "1", + "gpu": "1002:6821", + "hidpi": "1", + "os": "Mac-11.4", + "pool": "chromium.tests.gpu" + } + ], + "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", + "shards": 2 + }, + "test": "angle_deqp_gles3_tests", + "test_id_prefix": "ninja://src/tests:angle_deqp_gles3_tests/", + "use_isolated_scripts_api": true + }, + { + "args": [ + "angle_end2end_tests", + "--gtest_filter=-*Vulkan_SwiftShader*", + "--bot-mode" + ], + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_isolated_script_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "containment_type": "AUTO", + "dimension_sets": [ + { + "cpu": "x86-64", + "display_attached": "1", + "gpu": "1002:6821", + "hidpi": "1", + "os": "Mac-11.4", + "pool": "chromium.tests.gpu" + } + ], + "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", + "shards": 2 + }, + "test": "angle_end2end_tests", + "test_id_prefix": "ninja://src/tests:angle_end2end_tests/", + "use_isolated_scripts_api": true + }, + { + "args": [ + "angle_unittests" + ], + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_isolated_script_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "containment_type": "AUTO", + "dimension_sets": [ + { + "cpu": "x86-64", + "display_attached": "1", + "gpu": "1002:6821", + "hidpi": "1", + "os": "Mac-11.4", + "pool": "chromium.tests.gpu" + } + ], + "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" + }, + "test": "angle_unittests", + "test_id_prefix": "ninja://src/tests:angle_unittests/", + "use_isolated_scripts_api": true + } + ] + }, "mac-intel": { "gtest_tests": [ { @@ -2187,6 +2426,229 @@ } ] }, + "mac-intel-exp": { + "gtest_tests": [ + { + "args": [ + "angle_deqp_egl_tests", + "--use-angle=gl", + "--bot-mode", + "--max-processes=1" + ], + "merge": { + "script": "//scripts/angle_deqp_test_merge.py" + }, + "name": "angle_deqp_egl_gl_tests", + "swarming": { + "can_use_on_swarming_builders": true, + "containment_type": "AUTO", + "dimension_sets": [ + { + "cpu": "x86-64", + "display_attached": "1", + "gpu": "8086:3e9b", + "os": "Mac-11.5.2" + } + ], + "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" + }, + "test": "angle_deqp_egl_tests", + "test_id_prefix": "ninja://src/tests:angle_deqp_egl_tests/", + "use_isolated_scripts_api": true + }, + { + "args": [ + "angle_deqp_egl_tests", + "--use-angle=metal", + "--bot-mode" + ], + "merge": { + "script": "//scripts/angle_deqp_test_merge.py" + }, + "name": "angle_deqp_egl_metal_tests", + "swarming": { + "can_use_on_swarming_builders": true, + "containment_type": "AUTO", + "dimension_sets": [ + { + "cpu": "x86-64", + "display_attached": "1", + "gpu": "8086:3e9b", + "os": "Mac-11.5.2" + } + ], + "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" + }, + "test": "angle_deqp_egl_tests", + "test_id_prefix": "ninja://src/tests:angle_deqp_egl_tests/", + "use_isolated_scripts_api": true + }, + { + "args": [ + "angle_deqp_gles2_tests", + "--use-angle=gl", + "--bot-mode" + ], + "merge": { + "script": "//scripts/angle_deqp_test_merge.py" + }, + "name": "angle_deqp_gles2_gl_tests", + "swarming": { + "can_use_on_swarming_builders": true, + "containment_type": "AUTO", + "dimension_sets": [ + { + "cpu": "x86-64", + "display_attached": "1", + "gpu": "8086:3e9b", + "os": "Mac-11.5.2" + } + ], + "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" + }, + "test": "angle_deqp_gles2_tests", + "test_id_prefix": "ninja://src/tests:angle_deqp_gles2_tests/", + "use_isolated_scripts_api": true + }, + { + "args": [ + "angle_deqp_gles2_tests", + "--use-angle=metal", + "--bot-mode" + ], + "merge": { + "script": "//scripts/angle_deqp_test_merge.py" + }, + "name": "angle_deqp_gles2_metal_tests", + "swarming": { + "can_use_on_swarming_builders": true, + "containment_type": "AUTO", + "dimension_sets": [ + { + "cpu": "x86-64", + "display_attached": "1", + "gpu": "8086:3e9b", + "os": "Mac-11.5.2" + } + ], + "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" + }, + "test": "angle_deqp_gles2_tests", + "test_id_prefix": "ninja://src/tests:angle_deqp_gles2_tests/", + "use_isolated_scripts_api": true + }, + { + "args": [ + "angle_deqp_gles3_tests", + "--use-angle=gl", + "--bot-mode" + ], + "merge": { + "script": "//scripts/angle_deqp_test_merge.py" + }, + "name": "angle_deqp_gles3_gl_tests", + "swarming": { + "can_use_on_swarming_builders": true, + "containment_type": "AUTO", + "dimension_sets": [ + { + "cpu": "x86-64", + "display_attached": "1", + "gpu": "8086:3e9b", + "os": "Mac-11.5.2" + } + ], + "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", + "shards": 2 + }, + "test": "angle_deqp_gles3_tests", + "test_id_prefix": "ninja://src/tests:angle_deqp_gles3_tests/", + "use_isolated_scripts_api": true + }, + { + "args": [ + "angle_deqp_gles3_tests", + "--use-angle=metal", + "--flaky-retries=2", + "--bot-mode" + ], + "merge": { + "script": "//scripts/angle_deqp_test_merge.py" + }, + "name": "angle_deqp_gles3_metal_tests", + "swarming": { + "can_use_on_swarming_builders": true, + "containment_type": "AUTO", + "dimension_sets": [ + { + "cpu": "x86-64", + "display_attached": "1", + "gpu": "8086:3e9b", + "os": "Mac-11.5.2" + } + ], + "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", + "shards": 2 + }, + "test": "angle_deqp_gles3_tests", + "test_id_prefix": "ninja://src/tests:angle_deqp_gles3_tests/", + "use_isolated_scripts_api": true + }, + { + "args": [ + "angle_end2end_tests", + "--gtest_filter=-*Vulkan_SwiftShader*", + "--bot-mode" + ], + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_isolated_script_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "containment_type": "AUTO", + "dimension_sets": [ + { + "cpu": "x86-64", + "display_attached": "1", + "gpu": "8086:3e9b", + "os": "Mac-11.5.2" + } + ], + "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", + "shards": 2 + }, + "test": "angle_end2end_tests", + "test_id_prefix": "ninja://src/tests:angle_end2end_tests/", + "use_isolated_scripts_api": true + }, + { + "args": [ + "angle_unittests" + ], + "merge": { + "args": [], + "script": "//testing/merge_scripts/standard_isolated_script_merge.py" + }, + "swarming": { + "can_use_on_swarming_builders": true, + "containment_type": "AUTO", + "dimension_sets": [ + { + "cpu": "x86-64", + "display_attached": "1", + "gpu": "8086:3e9b", + "os": "Mac-11.5.2" + } + ], + "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" + }, + "test": "angle_unittests", + "test_id_prefix": "ninja://src/tests:angle_unittests/", + "use_isolated_scripts_api": true + } + ] + }, "mac-nvidia": { "gtest_tests": [ { diff --git a/infra/specs/angle_mb_config.pyl b/infra/specs/angle_mb_config.pyl index 05e9f86d72..d44056d84f 100644 --- a/infra/specs/angle_mb_config.pyl +++ b/infra/specs/angle_mb_config.pyl @@ -26,6 +26,7 @@ 'linux-intel-hd630-perf': 'angle_goma_perf_bot', 'linux-nvidia-p400-perf': 'angle_goma_perf_bot', 'mac-dbg': 'angle_goma_debug_bot', + 'mac-exp': 'angle_goma_release_bot', 'mac-rel': 'angle_goma_release_bot', 'win-clang-x64-dbg': 'angle_goma_debug_bot', 'win-clang-x64-rel': 'angle_goma_release_bot', diff --git a/infra/specs/mixins.pyl b/infra/specs/mixins.pyl index f4d66e1d5e..64dfd7eaa2 100644 --- a/infra/specs/mixins.pyl +++ b/infra/specs/mixins.pyl @@ -33,6 +33,16 @@ 'display_attached': '1', 'gpu': '8086:0a2e', 'os': 'Mac-10.15.7'}}}, + 'mac_mini_intel_uhd_630_gpu_stable': { 'swarming': { 'dimensions': { 'cpu': 'x86-64', + 'display_attached': '1', + 'gpu': '8086:3e9b', + 'os': 'Mac-11.5.2'}}}, + 'mac_retina_amd_gpu_experimental': { 'swarming': { 'dimensions': { 'cpu': 'x86-64', + 'display_attached': '1', + 'gpu': '1002:6821', + 'hidpi': '1', + 'os': 'Mac-11.4', + 'pool': 'chromium.tests.gpu'}}}, 'mac_retina_amd_gpu_stable': { 'swarming': { 'dimensions': { 'cpu': 'x86-64', 'display_attached': '1', 'gpu': '1002:6821', diff --git a/infra/specs/waterfalls.pyl b/infra/specs/waterfalls.pyl index 3df1070c90..66cf7e3fee 100644 --- a/infra/specs/waterfalls.pyl +++ b/infra/specs/waterfalls.pyl @@ -89,6 +89,15 @@ 'gtest_tests': 'mac_amd_and_intel_gtests', }, }, + 'mac-amd-exp': { + 'os_type': 'mac', + 'mixins': [ + 'mac_retina_amd_gpu_experimental', + ], + 'test_suites': { + 'gtest_tests': 'mac_amd_and_intel_gtests', + }, + }, 'mac-intel': { 'os_type': 'mac', 'mixins': [ @@ -98,6 +107,15 @@ 'gtest_tests': 'mac_amd_and_intel_gtests', }, }, + 'mac-intel-exp': { + 'os_type': 'mac', + 'mixins': [ + 'mac_mini_intel_uhd_630_gpu_stable', + ], + 'test_suites': { + 'gtest_tests': 'mac_amd_and_intel_gtests', + }, + }, 'mac-nvidia': { 'os_type': 'mac', 'mixins': [ diff --git a/scripts/code_generation_hashes/Test_spec_JSON.json b/scripts/code_generation_hashes/Test_spec_JSON.json index 265bff8073..c46b5b219e 100644 --- a/scripts/code_generation_hashes/Test_spec_JSON.json +++ b/scripts/code_generation_hashes/Test_spec_JSON.json @@ -1,10 +1,10 @@ { "infra/specs/angle.json": - "ac4e0fa2f8991a24ef234ef3ed14ba95", + "afe18ee5bf271576b28369d8ecdb56cb", "infra/specs/generate_test_spec_json.py": "348921bf70270ec6ee51fbb7e97d6925", "infra/specs/mixins.pyl": - "902aa44f4dbcaf91d313e3de008ee422", + "4c2309d7cebe8a1d43292c5c2012b1db", "infra/specs/test_suite_exceptions.pyl": "723460da84a90884a9668c07a0893390", "infra/specs/test_suites.pyl": @@ -12,9 +12,9 @@ "infra/specs/variants.pyl": "8cfcaa99fa07ad2a2d5d14f220fd5037", "infra/specs/waterfalls.pyl": - "7aadb90c13b22384200c56bd07de652d", + "a196371a2661764b889ed75cb1e243f5", "testing/buildbot/generate_buildbot_json.py": "3071268b1128295391f5b9b88cbb0253", "testing/buildbot/mixins.pyl": - "4a2304cb7344cd5e61890852baf810c4" + "2f889f478c07a446d626bdcb47e1b39d" }
\ No newline at end of file diff --git a/scripts/code_generation_hashes/restricted_traces.json b/scripts/code_generation_hashes/restricted_traces.json index 74812212bc..21c95ffdfe 100644 --- a/scripts/code_generation_hashes/restricted_traces.json +++ b/scripts/code_generation_hashes/restricted_traces.json @@ -1,14 +1,14 @@ { "src/tests/restricted_traces/.gitignore": - "111524060c1eb48a1969a91f8ae13e59", + "0df08b32b1950844c103ca9b5bf5493b", "src/tests/restricted_traces/gen_restricted_traces.py": "47c2ec4e240ad36c7610d90a9a3f0b7b", "src/tests/restricted_traces/restricted_traces.json": - "b7d9e3fe8e34d206a147d6be3a60a688", + "6dfaf6c6950d6d985f9a1ad270b487cf", "src/tests/restricted_traces/restricted_traces_autogen.cpp": - "3d8027c784f8a0305d29a9c8db676947", + "418bb3340f1060c193dfcf1a0c117a7f", "src/tests/restricted_traces/restricted_traces_autogen.gni": - "a5daf01e76886d5208139bc4fa53a870", + "27cb9560a4eacfd79ae82c9ab4574afd", "src/tests/restricted_traces/restricted_traces_autogen.h": "77a97c4bb042e28be314bf45e915e013" }
\ No newline at end of file diff --git a/src/compiler.gni b/src/compiler.gni index 1f36ce5978..ed9e07a3ce 100644 --- a/src/compiler.gni +++ b/src/compiler.gni @@ -215,9 +215,12 @@ angle_translator_sources = [ "src/compiler/translator/tree_util/IntermNodePatternMatcher.h", "src/compiler/translator/tree_util/IntermNode_util.cpp", "src/compiler/translator/tree_util/IntermNode_util.h", + "src/compiler/translator/tree_util/IntermRebuild.cpp", + "src/compiler/translator/tree_util/IntermRebuild.h", "src/compiler/translator/tree_util/IntermTraverse.cpp", "src/compiler/translator/tree_util/IntermTraverse.h", "src/compiler/translator/tree_util/NodeSearch.h", + "src/compiler/translator/tree_util/NodeType.h", "src/compiler/translator/tree_util/ReplaceArrayOfMatrixVarying.cpp", "src/compiler/translator/tree_util/ReplaceArrayOfMatrixVarying.h", "src/compiler/translator/tree_util/ReplaceClipCullDistanceVariable.cpp", @@ -380,8 +383,6 @@ angle_translator_lib_metal_sources = [ "src/compiler/translator/TranslatorMetalDirect/HoistConstants.h", "src/compiler/translator/TranslatorMetalDirect/IdGen.cpp", "src/compiler/translator/TranslatorMetalDirect/IdGen.h", - "src/compiler/translator/TranslatorMetalDirect/IntermRebuild.cpp", - "src/compiler/translator/TranslatorMetalDirect/IntermRebuild.h", "src/compiler/translator/TranslatorMetalDirect/IntroduceVertexIndexID.cpp", "src/compiler/translator/TranslatorMetalDirect/IntroduceVertexIndexID.h", "src/compiler/translator/TranslatorMetalDirect/Layout.cpp", @@ -396,7 +397,6 @@ angle_translator_lib_metal_sources = [ "src/compiler/translator/TranslatorMetalDirect/Name.h", "src/compiler/translator/TranslatorMetalDirect/NameEmbeddedUniformStructsMetal.cpp", "src/compiler/translator/TranslatorMetalDirect/NameEmbeddedUniformStructsMetal.h", - "src/compiler/translator/TranslatorMetalDirect/NodeType.h", "src/compiler/translator/TranslatorMetalDirect/Pipeline.cpp", "src/compiler/translator/TranslatorMetalDirect/Pipeline.h", "src/compiler/translator/TranslatorMetalDirect/ProgramPrelude.cpp", diff --git a/src/compiler/translator/TranslatorMetalDirect/FixTypeConstructors.cpp b/src/compiler/translator/TranslatorMetalDirect/FixTypeConstructors.cpp index 58f0c233cd..f76db461a1 100644 --- a/src/compiler/translator/TranslatorMetalDirect/FixTypeConstructors.cpp +++ b/src/compiler/translator/TranslatorMetalDirect/FixTypeConstructors.cpp @@ -7,8 +7,8 @@ #include "compiler/translator/TranslatorMetalDirect/FixTypeConstructors.h" #include <unordered_map> #include "compiler/translator/TranslatorMetalDirect/AstHelpers.h" -#include "compiler/translator/TranslatorMetalDirect/IntermRebuild.h" #include "compiler/translator/tree_ops/SimplifyLoopConditions.h" +#include "compiler/translator/tree_util/IntermRebuild.h" using namespace sh; //////////////////////////////////////////////////////////////////////////////// namespace diff --git a/src/compiler/translator/TranslatorMetalDirect/HoistConstants.cpp b/src/compiler/translator/TranslatorMetalDirect/HoistConstants.cpp index eaea46950c..ce9c03eb5d 100644 --- a/src/compiler/translator/TranslatorMetalDirect/HoistConstants.cpp +++ b/src/compiler/translator/TranslatorMetalDirect/HoistConstants.cpp @@ -6,9 +6,9 @@ #include "compiler/translator/TranslatorMetalDirect/HoistConstants.h" #include "compiler/translator/TranslatorMetalDirect/AstHelpers.h" -#include "compiler/translator/TranslatorMetalDirect/IntermRebuild.h" #include "compiler/translator/TranslatorMetalDirect/Layout.h" #include "compiler/translator/tree_util/FindFunction.h" +#include "compiler/translator/tree_util/IntermRebuild.h" #include "compiler/translator/tree_util/ReplaceVariable.h" using namespace sh; diff --git a/src/compiler/translator/TranslatorMetalDirect/IntermRebuild.h b/src/compiler/translator/TranslatorMetalDirect/IntermRebuild.h index 22ad92ca82..675d747100 100644 --- a/src/compiler/translator/TranslatorMetalDirect/IntermRebuild.h +++ b/src/compiler/translator/TranslatorMetalDirect/IntermRebuild.h @@ -7,8 +7,8 @@ #ifndef COMPILER_TRANSLATOR_TRANSLATORMETALDIRECT_INTERMREBUILD_H_ #define COMPILER_TRANSLATOR_TRANSLATORMETALDIRECT_INTERMREBUILD_H_ -#include "compiler/translator/TranslatorMetalDirect/NodeType.h" #include "compiler/translator/tree_util/IntermTraverse.h" +#include "compiler/translator/tree_util/NodeType.h" namespace sh { diff --git a/src/compiler/translator/TranslatorMetalDirect/IntroduceVertexIndexID.cpp b/src/compiler/translator/TranslatorMetalDirect/IntroduceVertexIndexID.cpp index 2eb9353e6f..efb3c1204d 100644 --- a/src/compiler/translator/TranslatorMetalDirect/IntroduceVertexIndexID.cpp +++ b/src/compiler/translator/TranslatorMetalDirect/IntroduceVertexIndexID.cpp @@ -7,8 +7,8 @@ #include "compiler/translator/TranslatorMetalDirect/IntroduceVertexIndexID.h" #include "compiler/translator/StaticType.h" #include "compiler/translator/TranslatorMetalDirect/AstHelpers.h" -#include "compiler/translator/TranslatorMetalDirect/IntermRebuild.h" #include "compiler/translator/tree_util/BuiltIn.h" +#include "compiler/translator/tree_util/IntermRebuild.h" using namespace sh; //////////////////////////////////////////////////////////////////////////////// diff --git a/src/compiler/translator/TranslatorMetalDirect/MapSymbols.cpp b/src/compiler/translator/TranslatorMetalDirect/MapSymbols.cpp index 5631be6e81..035c930469 100644 --- a/src/compiler/translator/TranslatorMetalDirect/MapSymbols.cpp +++ b/src/compiler/translator/TranslatorMetalDirect/MapSymbols.cpp @@ -5,7 +5,7 @@ // #include "compiler/translator/TranslatorMetalDirect/MapSymbols.h" -#include "compiler/translator/TranslatorMetalDirect/IntermRebuild.h" +#include "compiler/translator/tree_util/IntermRebuild.h" using namespace sh; diff --git a/src/compiler/translator/TranslatorMetalDirect/ReduceInterfaceBlocks.cpp b/src/compiler/translator/TranslatorMetalDirect/ReduceInterfaceBlocks.cpp index 6778d3b4f1..45053e2297 100644 --- a/src/compiler/translator/TranslatorMetalDirect/ReduceInterfaceBlocks.cpp +++ b/src/compiler/translator/TranslatorMetalDirect/ReduceInterfaceBlocks.cpp @@ -10,9 +10,9 @@ #include "compiler/translator/SymbolTable.h" #include "compiler/translator/TranslatorMetalDirect.h" #include "compiler/translator/TranslatorMetalDirect/AstHelpers.h" -#include "compiler/translator/TranslatorMetalDirect/IntermRebuild.h" #include "compiler/translator/TranslatorMetalDirect/ReduceInterfaceBlocks.h" #include "compiler/translator/tree_ops/SeparateDeclarations.h" +#include "compiler/translator/tree_util/IntermRebuild.h" using namespace sh; diff --git a/src/compiler/translator/TranslatorMetalDirect/RewriteCaseDeclarations.cpp b/src/compiler/translator/TranslatorMetalDirect/RewriteCaseDeclarations.cpp index 1272acb536..c7781776c5 100644 --- a/src/compiler/translator/TranslatorMetalDirect/RewriteCaseDeclarations.cpp +++ b/src/compiler/translator/TranslatorMetalDirect/RewriteCaseDeclarations.cpp @@ -6,7 +6,7 @@ #include "compiler/translator/TranslatorMetalDirect/RewriteCaseDeclarations.h" #include "compiler/translator/TranslatorMetalDirect/AstHelpers.h" -#include "compiler/translator/TranslatorMetalDirect/IntermRebuild.h" +#include "compiler/translator/tree_util/IntermRebuild.h" using namespace sh; diff --git a/src/compiler/translator/TranslatorMetalDirect/RewriteGlobalQualifierDecls.cpp b/src/compiler/translator/TranslatorMetalDirect/RewriteGlobalQualifierDecls.cpp index 9c3f82c57e..20d9f2a9ee 100644 --- a/src/compiler/translator/TranslatorMetalDirect/RewriteGlobalQualifierDecls.cpp +++ b/src/compiler/translator/TranslatorMetalDirect/RewriteGlobalQualifierDecls.cpp @@ -5,7 +5,7 @@ // #include "compiler/translator/TranslatorMetalDirect/RewriteGlobalQualifierDecls.h" -#include "compiler/translator/TranslatorMetalDirect/IntermRebuild.h" +#include "compiler/translator/tree_util/IntermRebuild.h" using namespace sh; diff --git a/src/compiler/translator/TranslatorMetalDirect/RewriteKeywords.cpp b/src/compiler/translator/TranslatorMetalDirect/RewriteKeywords.cpp index e1e227810a..0cfc0458a7 100644 --- a/src/compiler/translator/TranslatorMetalDirect/RewriteKeywords.cpp +++ b/src/compiler/translator/TranslatorMetalDirect/RewriteKeywords.cpp @@ -12,8 +12,8 @@ #include <unordered_set> #include "compiler/translator/TranslatorMetalDirect/AstHelpers.h" -#include "compiler/translator/TranslatorMetalDirect/IntermRebuild.h" #include "compiler/translator/TranslatorMetalDirect/RewriteKeywords.h" +#include "compiler/translator/tree_util/IntermRebuild.h" using namespace sh; diff --git a/src/compiler/translator/TranslatorMetalDirect/RewriteOutArgs.cpp b/src/compiler/translator/TranslatorMetalDirect/RewriteOutArgs.cpp index 0743cb85d5..55b71b9785 100644 --- a/src/compiler/translator/TranslatorMetalDirect/RewriteOutArgs.cpp +++ b/src/compiler/translator/TranslatorMetalDirect/RewriteOutArgs.cpp @@ -5,7 +5,7 @@ // #include "compiler/translator/TranslatorMetalDirect/RewriteOutArgs.h" -#include "compiler/translator/TranslatorMetalDirect/IntermRebuild.h" +#include "compiler/translator/tree_util/IntermRebuild.h" using namespace sh; diff --git a/src/compiler/translator/TranslatorMetalDirect/RewritePipelines.cpp b/src/compiler/translator/TranslatorMetalDirect/RewritePipelines.cpp index 2e9bf4b0ac..c487048938 100644 --- a/src/compiler/translator/TranslatorMetalDirect/RewritePipelines.cpp +++ b/src/compiler/translator/TranslatorMetalDirect/RewritePipelines.cpp @@ -12,7 +12,6 @@ #include "compiler/translator/TranslatorMetalDirect/AstHelpers.h" #include "compiler/translator/TranslatorMetalDirect/DiscoverDependentFunctions.h" #include "compiler/translator/TranslatorMetalDirect/IdGen.h" -#include "compiler/translator/TranslatorMetalDirect/IntermRebuild.h" #include "compiler/translator/TranslatorMetalDirect/MapSymbols.h" #include "compiler/translator/TranslatorMetalDirect/Pipeline.h" #include "compiler/translator/TranslatorMetalDirect/RewritePipelines.h" @@ -20,6 +19,7 @@ #include "compiler/translator/tree_ops/PruneNoOps.h" #include "compiler/translator/tree_util/DriverUniform.h" #include "compiler/translator/tree_util/FindMain.h" +#include "compiler/translator/tree_util/IntermRebuild.h" #include "compiler/translator/tree_util/IntermTraverse.h" using namespace sh; diff --git a/src/compiler/translator/TranslatorMetalDirect/RewriteUnaddressableReferences.cpp b/src/compiler/translator/TranslatorMetalDirect/RewriteUnaddressableReferences.cpp index e1d26c1b32..7721350c87 100644 --- a/src/compiler/translator/TranslatorMetalDirect/RewriteUnaddressableReferences.cpp +++ b/src/compiler/translator/TranslatorMetalDirect/RewriteUnaddressableReferences.cpp @@ -6,8 +6,8 @@ #include "compiler/translator/TranslatorMetalDirect/RewriteUnaddressableReferences.h" #include "compiler/translator/TranslatorMetalDirect/AstHelpers.h" -#include "compiler/translator/TranslatorMetalDirect/IntermRebuild.h" #include "compiler/translator/tree_util/AsNode.h" +#include "compiler/translator/tree_util/IntermRebuild.h" using namespace sh; diff --git a/src/compiler/translator/TranslatorMetalDirect/SeparateCompoundExpressions.cpp b/src/compiler/translator/TranslatorMetalDirect/SeparateCompoundExpressions.cpp index 7bcce718b1..41897a0488 100644 --- a/src/compiler/translator/TranslatorMetalDirect/SeparateCompoundExpressions.cpp +++ b/src/compiler/translator/TranslatorMetalDirect/SeparateCompoundExpressions.cpp @@ -8,9 +8,9 @@ #include "common/system_utils.h" #include "compiler/translator/TranslatorMetalDirect/AstHelpers.h" -#include "compiler/translator/TranslatorMetalDirect/IntermRebuild.h" #include "compiler/translator/TranslatorMetalDirect/SeparateCompoundExpressions.h" #include "compiler/translator/tree_ops/SimplifyLoopConditions.h" +#include "compiler/translator/tree_util/IntermRebuild.h" using namespace sh; diff --git a/src/compiler/translator/TranslatorMetalDirect/SymbolEnv.cpp b/src/compiler/translator/TranslatorMetalDirect/SymbolEnv.cpp index ce3633ef8e..220c1a5c49 100644 --- a/src/compiler/translator/TranslatorMetalDirect/SymbolEnv.cpp +++ b/src/compiler/translator/TranslatorMetalDirect/SymbolEnv.cpp @@ -9,8 +9,8 @@ #include "compiler/translator/ImmutableStringBuilder.h" #include "compiler/translator/TranslatorMetalDirect/AstHelpers.h" -#include "compiler/translator/TranslatorMetalDirect/IntermRebuild.h" #include "compiler/translator/TranslatorMetalDirect/SymbolEnv.h" +#include "compiler/translator/tree_util/IntermRebuild.h" using namespace sh; diff --git a/src/compiler/translator/TranslatorMetalDirect/TransposeRowMajorMatrices.cpp b/src/compiler/translator/TranslatorMetalDirect/TransposeRowMajorMatrices.cpp index e7c6372edf..0db66cd346 100644 --- a/src/compiler/translator/TranslatorMetalDirect/TransposeRowMajorMatrices.cpp +++ b/src/compiler/translator/TranslatorMetalDirect/TransposeRowMajorMatrices.cpp @@ -8,8 +8,8 @@ #include <unordered_map> #include "compiler/translator/TranslatorMetalDirect/AstHelpers.h" -#include "compiler/translator/TranslatorMetalDirect/IntermRebuild.h" #include "compiler/translator/TranslatorMetalDirect/TransposeRowMajorMatrices.h" +#include "compiler/translator/tree_util/IntermRebuild.h" using namespace sh; diff --git a/src/compiler/translator/tree_ops/ScalarizeVecAndMatConstructorArgs.cpp b/src/compiler/translator/tree_ops/ScalarizeVecAndMatConstructorArgs.cpp index c711fbc1a1..195ca53157 100644 --- a/src/compiler/translator/tree_ops/ScalarizeVecAndMatConstructorArgs.cpp +++ b/src/compiler/translator/tree_ops/ScalarizeVecAndMatConstructorArgs.cpp @@ -27,12 +27,12 @@ namespace sh namespace { -TIntermBinary *ConstructVectorIndexBinaryNode(TIntermSymbol *symbolNode, int index) +TIntermBinary *ConstructVectorIndexBinaryNode(TIntermTyped *symbolNode, int index) { return new TIntermBinary(EOpIndexDirect, symbolNode, CreateIndexNode(index)); } -TIntermBinary *ConstructMatrixIndexBinaryNode(TIntermSymbol *symbolNode, int colIndex, int rowIndex) +TIntermBinary *ConstructMatrixIndexBinaryNode(TIntermTyped *symbolNode, int colIndex, int rowIndex) { TIntermBinary *colVectorNode = ConstructVectorIndexBinaryNode(symbolNode, colIndex); @@ -63,7 +63,7 @@ class ScalarizeArgsTraverser : public TIntermTraverser // vec4 v(1, s0[0][0], s0[0][1], s0[0][2]); // This function is to create nodes for "mat4 s0 = m;" and insert it to the code sequence. This // way the possible side effects of the constructor argument will only be evaluated once. - TVariable *createTempVariable(TIntermTyped *original); + TIntermTyped *createTempVariable(TIntermTyped *original); std::vector<TIntermSequence> mBlockStack; @@ -123,10 +123,10 @@ void ScalarizeArgsTraverser::scalarizeArgs(TIntermAggregate *aggregate, ASSERT(size > 0); TIntermTyped *originalArg = originalArgNode->getAsTyped(); ASSERT(originalArg); - TVariable *argVariable = createTempVariable(originalArg); + TIntermTyped *argVariable = createTempVariable(originalArg); if (originalArg->isScalar()) { - sequence->push_back(CreateTempSymbolNode(argVariable)); + sequence->push_back(argVariable); size--; } else if (originalArg->isVector()) @@ -137,15 +137,14 @@ void ScalarizeArgsTraverser::scalarizeArgs(TIntermAggregate *aggregate, size -= repeat; for (int index = 0; index < repeat; ++index) { - TIntermSymbol *symbolNode = CreateTempSymbolNode(argVariable); - TIntermBinary *newNode = ConstructVectorIndexBinaryNode(symbolNode, index); + TIntermBinary *newNode = + ConstructVectorIndexBinaryNode(argVariable->deepCopy(), index); sequence->push_back(newNode); } } else { - TIntermSymbol *symbolNode = CreateTempSymbolNode(argVariable); - sequence->push_back(symbolNode); + sequence->push_back(argVariable); size -= originalArg->getNominalSize(); } } @@ -159,9 +158,8 @@ void ScalarizeArgsTraverser::scalarizeArgs(TIntermAggregate *aggregate, size -= repeat; while (repeat > 0) { - TIntermSymbol *symbolNode = CreateTempSymbolNode(argVariable); TIntermBinary *newNode = - ConstructMatrixIndexBinaryNode(symbolNode, colIndex, rowIndex); + ConstructMatrixIndexBinaryNode(argVariable->deepCopy(), colIndex, rowIndex); sequence->push_back(newNode); rowIndex++; if (rowIndex >= originalArg->getRows()) @@ -174,15 +172,14 @@ void ScalarizeArgsTraverser::scalarizeArgs(TIntermAggregate *aggregate, } else { - TIntermSymbol *symbolNode = CreateTempSymbolNode(argVariable); - sequence->push_back(symbolNode); + sequence->push_back(argVariable); size -= originalArg->getCols() * originalArg->getRows(); } } } } -TVariable *ScalarizeArgsTraverser::createTempVariable(TIntermTyped *original) +TIntermTyped *ScalarizeArgsTraverser::createTempVariable(TIntermTyped *original) { ASSERT(original); @@ -190,9 +187,16 @@ TVariable *ScalarizeArgsTraverser::createTempVariable(TIntermTyped *original) type->setQualifier(EvqTemporary); // The precision of the constant must have been retained (or derived), which will now apply to - // the temp variable. - ASSERT(!IsPrecisionApplicableToType(type->getBasicType()) || - type->getPrecision() != EbpUndefined); + // the temp variable. In some cases, the precision cannot be derived, so use the constant as + // is. For example, in the following standalone statement, the precision of the constant 0 + // cannot be determined: + // + // mat2(0, bvec3(m)); + // + if (IsPrecisionApplicableToType(type->getBasicType()) && type->getPrecision() == EbpUndefined) + { + return original; + } TVariable *variable = CreateTempVariable(mSymbolTable, type); @@ -201,7 +205,7 @@ TVariable *ScalarizeArgsTraverser::createTempVariable(TIntermTyped *original) TIntermDeclaration *declaration = CreateTempInitDeclarationNode(variable, original); sequence.push_back(declaration); - return variable; + return CreateTempSymbolNode(variable); } } // namespace diff --git a/src/compiler/translator/TranslatorMetalDirect/IntermRebuild.cpp b/src/compiler/translator/tree_util/IntermRebuild.cpp index bc49927ae0..46615711f3 100644 --- a/src/compiler/translator/TranslatorMetalDirect/IntermRebuild.cpp +++ b/src/compiler/translator/tree_util/IntermRebuild.cpp @@ -8,8 +8,8 @@ #include "compiler/translator/Compiler.h" #include "compiler/translator/SymbolTable.h" -#include "compiler/translator/TranslatorMetalDirect/IntermRebuild.h" #include "compiler/translator/tree_util/AsNode.h" +#include "compiler/translator/tree_util/IntermRebuild.h" #define GUARD2(cond, failVal) \ do \ @@ -251,7 +251,7 @@ bool TIntermRebuild::traverseAnyAs(TIntermNode &node, Node *&out) return true; } out = asNode<Node>(result.mSingle); - return out; + return out != nullptr; } bool TIntermRebuild::traverseAggregateBaseChildren(TIntermAggregateBase &node) @@ -286,6 +286,10 @@ bool TIntermRebuild::traverseAggregateBaseChildren(TIntermAggregateBase &node) case Action::Fail: return false; + + default: + ASSERT(false); + return false; } } @@ -382,6 +386,9 @@ PreResult TIntermRebuild::traversePre(TIntermNode &originalNode) return visitLoopPre(*originalNode.getAsLoopNode()); case NodeType::Branch: return visitBranchPre(*originalNode.getAsBranchNode()); + default: + ASSERT(false); + return Fail(); } } @@ -445,6 +452,9 @@ TIntermNode *TIntermRebuild::traverseChildren(NodeType currNodeType, return traverseLoopChildren(*currNode.getAsLoopNode()); case NodeType::Branch: return traverseBranchChildren(*currNode.getAsBranchNode()); + default: + ASSERT(false); + return nullptr; } } @@ -513,6 +523,9 @@ PostResult TIntermRebuild::traversePost(NodeType currNodeType, return visitLoopPost(*currNode.getAsLoopNode()); case NodeType::Branch: return visitBranchPost(*currNode.getAsBranchNode()); + default: + ASSERT(false); + return Fail(); } } @@ -781,6 +794,9 @@ TIntermNode *TIntermRebuild::traverseLoopChildren(TIntermLoop &node) ASSERT(cond); ASSERT(!init && !expr); break; + default: + ASSERT(false); + break; } #endif @@ -814,6 +830,9 @@ TIntermNode *TIntermRebuild::traverseLoopChildren(TIntermLoop &node) GUARD(newCond && newBody); GUARD(!newInit && !newExpr); break; + default: + ASSERT(false); + break; } return new TIntermLoop(loopType, newInit, newCond, newExpr, newBody); } diff --git a/src/compiler/translator/tree_util/IntermRebuild.h b/src/compiler/translator/tree_util/IntermRebuild.h new file mode 100644 index 0000000000..675d747100 --- /dev/null +++ b/src/compiler/translator/tree_util/IntermRebuild.h @@ -0,0 +1,328 @@ +// +// Copyright 2020 The ANGLE Project Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +// + +#ifndef COMPILER_TRANSLATOR_TRANSLATORMETALDIRECT_INTERMREBUILD_H_ +#define COMPILER_TRANSLATOR_TRANSLATORMETALDIRECT_INTERMREBUILD_H_ + +#include "compiler/translator/tree_util/IntermTraverse.h" +#include "compiler/translator/tree_util/NodeType.h" + +namespace sh +{ + +// Walks the tree to rebuild nodes. +// This class is intended to be derived with overridden visitXXX functions. +// +// Each visitXXX function that does not have a Visit parameter simply has the visitor called +// exactly once, regardless of (preVisit) or (postVisit) values. + +// Each visitXXX function that has a Visit parameter behaves as follows: +// * If (preVisit): +// - The node is visited before children are traversed. +// - The returned value is used to replace the visited node. The returned value may be the same +// as the original node. +// - If multiple nodes are returned, children and post visits of the returned nodes are not +// preformed, even if it is a singleton collection. +// * If (childVisit) +// - If any new children are returned, the node is automatically rebuilt with the new children +// before post visit. +// - Depending on the type of the node, null children may be discarded. +// - Ill-typed children cause rebuild errors. Ill-typed means the node to automatically rebuild +// cannot accept a child of a certain type as input to its constructor. +// - Only instances of TIntermAggregateBase can accept Multi results for any of its children. +// If supplied, the nodes are spliced children at the spot of the original child. +// * If (postVisit) +// - The node is visited after any children are traversed. +// - Only after such a rebuild (or lack thereof), the post-visit is performed. +// +// Nodes in visit functions are allowed to be modified in place, including TIntermAggregateBase +// child sequences. +// +// The default implementations of all the visitXXX functions support full pre and post traversal +// without modifying the visited nodes. +// +class TIntermRebuild : angle::NonCopyable +{ + + enum class Action + { + ReplaceSingle, + ReplaceMulti, + Drop, + Fail, + }; + + public: + struct Fail + {}; + + enum VisitBits : size_t + { + // No bits are set. + Empty = 0u, + + // Allow visit of returned node's children. + Children = 1u << 0u, + + // Allow post visit of returned node. + Post = 1u << 1u, + + // If (Children) bit, only visit if the returned node is the same as the original node. + ChildrenRequiresSame = 1u << 2u, + + // If (Post) bit, only visit if the returned node is the same as the original node. + PostRequiresSame = 1u << 3u, + + RequireSame = ChildrenRequiresSame | PostRequiresSame, + Neither = Empty, + Both = Children | Post, + BothWhenSame = Both | RequireSame, + }; + + private: + struct NodeStackGuard; + + template <typename T> + struct ConsList + { + T value; + ConsList<T> *tail; + }; + + class BaseResult + { + BaseResult(const BaseResult &) = delete; + BaseResult &operator=(const BaseResult &) = delete; + + public: + BaseResult(BaseResult &&other) = default; + BaseResult(BaseResult &other); // For subclass move constructor impls + BaseResult(TIntermNode &node, VisitBits visit); + BaseResult(TIntermNode *node, VisitBits visit); + BaseResult(nullptr_t); + BaseResult(Fail); + BaseResult(std::vector<TIntermNode *> &&nodes); + + void moveAssignImpl(BaseResult &other); // For subclass move assign impls + + static BaseResult Multi(std::vector<TIntermNode *> &&nodes); + + template <typename Iter> + static BaseResult Multi(Iter nodesBegin, Iter nodesEnd) + { + std::vector<TIntermNode *> nodes; + for (Iter nodesCurr = nodesBegin; nodesCurr != nodesEnd; ++nodesCurr) + { + nodes.push_back(*nodesCurr); + } + return std::move(nodes); + } + + bool isFail() const; + bool isDrop() const; + TIntermNode *single() const; + const std::vector<TIntermNode *> *multi() const; + + public: + Action mAction; + VisitBits mVisit; + TIntermNode *mSingle; + std::vector<TIntermNode *> mMulti; + }; + + public: + class PreResult : private BaseResult + { + friend class TIntermRebuild; + + public: + PreResult(PreResult &&other); + PreResult(TIntermNode &node, VisitBits visit = VisitBits::BothWhenSame); + PreResult(TIntermNode *node, VisitBits visit = VisitBits::BothWhenSame); + PreResult(nullptr_t); // Used to drop a node. + PreResult(Fail); // Used to signal failure. + + void operator=(PreResult &&other); + + static PreResult Multi(std::vector<TIntermNode *> &&nodes) + { + return BaseResult::Multi(std::move(nodes)); + } + + template <typename Iter> + static PreResult Multi(Iter nodesBegin, Iter nodesEnd) + { + return BaseResult::Multi(nodesBegin, nodesEnd); + } + + using BaseResult::isDrop; + using BaseResult::isFail; + using BaseResult::multi; + using BaseResult::single; + + private: + PreResult(BaseResult &&other); + }; + + class PostResult : private BaseResult + { + friend class TIntermRebuild; + + public: + PostResult(PostResult &&other); + PostResult(TIntermNode &node); + PostResult(TIntermNode *node); + PostResult(nullptr_t); // Used to drop a node + PostResult(Fail); // Used to signal failure. + + void operator=(PostResult &&other); + + static PostResult Multi(std::vector<TIntermNode *> &&nodes) + { + return BaseResult::Multi(std::move(nodes)); + } + + template <typename Iter> + static PostResult Multi(Iter nodesBegin, Iter nodesEnd) + { + return BaseResult::Multi(nodesBegin, nodesEnd); + } + + using BaseResult::isDrop; + using BaseResult::isFail; + using BaseResult::multi; + using BaseResult::single; + + private: + PostResult(BaseResult &&other); + }; + + public: + TIntermRebuild(TCompiler &compiler, bool preVisit, bool postVisit); + + virtual ~TIntermRebuild(); + + // Rebuilds the tree starting at the provided root. If a new node would be returned for the + // root, the root node's children become that of the new node instead. Returns false if failure + // occurred. + ANGLE_NO_DISCARD bool rebuildRoot(TIntermBlock &root); + + protected: + virtual PreResult visitSymbolPre(TIntermSymbol &node); + virtual PreResult visitConstantUnionPre(TIntermConstantUnion &node); + virtual PreResult visitFunctionPrototypePre(TIntermFunctionPrototype &node); + virtual PreResult visitPreprocessorDirectivePre(TIntermPreprocessorDirective &node); + virtual PreResult visitUnaryPre(TIntermUnary &node); + virtual PreResult visitBinaryPre(TIntermBinary &node); + virtual PreResult visitTernaryPre(TIntermTernary &node); + virtual PreResult visitSwizzlePre(TIntermSwizzle &node); + virtual PreResult visitIfElsePre(TIntermIfElse &node); + virtual PreResult visitSwitchPre(TIntermSwitch &node); + virtual PreResult visitCasePre(TIntermCase &node); + virtual PreResult visitLoopPre(TIntermLoop &node); + virtual PreResult visitBranchPre(TIntermBranch &node); + virtual PreResult visitDeclarationPre(TIntermDeclaration &node); + virtual PreResult visitBlockPre(TIntermBlock &node); + virtual PreResult visitAggregatePre(TIntermAggregate &node); + virtual PreResult visitFunctionDefinitionPre(TIntermFunctionDefinition &node); + virtual PreResult visitGlobalQualifierDeclarationPre(TIntermGlobalQualifierDeclaration &node); + + virtual PostResult visitSymbolPost(TIntermSymbol &node); + virtual PostResult visitConstantUnionPost(TIntermConstantUnion &node); + virtual PostResult visitFunctionPrototypePost(TIntermFunctionPrototype &node); + virtual PostResult visitPreprocessorDirectivePost(TIntermPreprocessorDirective &node); + virtual PostResult visitUnaryPost(TIntermUnary &node); + virtual PostResult visitBinaryPost(TIntermBinary &node); + virtual PostResult visitTernaryPost(TIntermTernary &node); + virtual PostResult visitSwizzlePost(TIntermSwizzle &node); + virtual PostResult visitIfElsePost(TIntermIfElse &node); + virtual PostResult visitSwitchPost(TIntermSwitch &node); + virtual PostResult visitCasePost(TIntermCase &node); + virtual PostResult visitLoopPost(TIntermLoop &node); + virtual PostResult visitBranchPost(TIntermBranch &node); + virtual PostResult visitDeclarationPost(TIntermDeclaration &node); + virtual PostResult visitBlockPost(TIntermBlock &node); + virtual PostResult visitAggregatePost(TIntermAggregate &node); + virtual PostResult visitFunctionDefinitionPost(TIntermFunctionDefinition &node); + virtual PostResult visitGlobalQualifierDeclarationPost(TIntermGlobalQualifierDeclaration &node); + + // Can be used to rebuild a specific node during a traversal. Useful for fine control of + // rebuilding a node's children. + ANGLE_NO_DISCARD PostResult rebuild(TIntermNode &node); + + // Rebuilds the provided node in place. If a new node would be returned, the old node's children + // become that of the new node instead. Returns false if failure occurred. + ANGLE_NO_DISCARD bool rebuildInPlace(TIntermAggregate &node); + + // Rebuilds the provided node in place. If a new node would be returned, the old node's children + // become that of the new node instead. Returns false if failure occurred. + ANGLE_NO_DISCARD bool rebuildInPlace(TIntermBlock &node); + + // Rebuilds the provided node in place. If a new node would be returned, the old node's children + // become that of the new node instead. Returns false if failure occurred. + ANGLE_NO_DISCARD bool rebuildInPlace(TIntermDeclaration &node); + + // If currently at or below a function declaration body, this returns the function that encloses + // the currently visited node. (This returns null if at a function declaration node.) + const TFunction *getParentFunction() const; + + TIntermNode *getParentNode(size_t offset = 0) const; + + private: + template <typename Node> + ANGLE_NO_DISCARD bool rebuildInPlaceImpl(Node &node); + + PostResult traverseAny(TIntermNode &node); + + template <typename Node> + Node *traverseAnyAs(TIntermNode &node); + + template <typename Node> + bool traverseAnyAs(TIntermNode &node, Node *&out); + + PreResult traversePre(TIntermNode &originalNode); + TIntermNode *traverseChildren(NodeType currNodeType, + const TIntermNode &originalNode, + TIntermNode &currNode, + VisitBits visit); + PostResult traversePost(NodeType nodeType, + const TIntermNode &originalNode, + TIntermNode &currNode, + VisitBits visit); + + bool traverseAggregateBaseChildren(TIntermAggregateBase &node); + + TIntermNode *traverseUnaryChildren(TIntermUnary &node); + TIntermNode *traverseBinaryChildren(TIntermBinary &node); + TIntermNode *traverseTernaryChildren(TIntermTernary &node); + TIntermNode *traverseSwizzleChildren(TIntermSwizzle &node); + TIntermNode *traverseIfElseChildren(TIntermIfElse &node); + TIntermNode *traverseSwitchChildren(TIntermSwitch &node); + TIntermNode *traverseCaseChildren(TIntermCase &node); + TIntermNode *traverseLoopChildren(TIntermLoop &node); + TIntermNode *traverseBranchChildren(TIntermBranch &node); + TIntermNode *traverseDeclarationChildren(TIntermDeclaration &node); + TIntermNode *traverseBlockChildren(TIntermBlock &node); + TIntermNode *traverseAggregateChildren(TIntermAggregate &node); + TIntermNode *traverseFunctionDefinitionChildren(TIntermFunctionDefinition &node); + TIntermNode *traverseGlobalQualifierDeclarationChildren( + TIntermGlobalQualifierDeclaration &node); + + protected: + TCompiler &mCompiler; + TSymbolTable &mSymbolTable; + const TFunction *mParentFunc = nullptr; + GetNodeType getNodeType; + + private: + ConsList<TIntermNode *> mNodeStack{nullptr, nullptr}; + bool mPreVisit; + bool mPostVisit; +}; + +} // namespace sh + +#endif // COMPILER_TRANSLATOR_TRANSLATORMETALDIRECT_INTERMREBUILD_H_ diff --git a/src/compiler/translator/TranslatorMetalDirect/NodeType.h b/src/compiler/translator/tree_util/NodeType.h index 4ab63dbebb..4ab63dbebb 100644 --- a/src/compiler/translator/TranslatorMetalDirect/NodeType.h +++ b/src/compiler/translator/tree_util/NodeType.h diff --git a/src/libANGLE/capture/FrameCapture.h b/src/libANGLE/capture/FrameCapture.h index 8d5a66416f..e588df1c68 100644 --- a/src/libANGLE/capture/FrameCapture.h +++ b/src/libANGLE/capture/FrameCapture.h @@ -621,8 +621,6 @@ void ParamBuffer::addEnumParam(const char *paramName, mParamCaptures.emplace_back(std::move(capture)); } -std::ostream &operator<<(std::ostream &os, const ParamCapture &capture); - // Pointer capture helpers. void CaptureMemory(const void *source, size_t size, ParamCapture *paramCapture); void CaptureString(const GLchar *str, ParamCapture *paramCapture); diff --git a/src/libANGLE/renderer/metal/DisplayMtl.mm b/src/libANGLE/renderer/metal/DisplayMtl.mm index 1875730ff2..9acc4f8a9b 100644 --- a/src/libANGLE/renderer/metal/DisplayMtl.mm +++ b/src/libANGLE/renderer/metal/DisplayMtl.mm @@ -750,7 +750,7 @@ void DisplayMtl::ensureCapsInitialized() const mNativeCaps.programBinaryFormats.push_back(GL_PROGRAM_BINARY_ANGLE); // GL_APPLE_clip_distance - mNativeCaps.maxClipDistances = 8; + mNativeCaps.maxClipDistances = mFeatures.directMetalGeneration.enabled ? 0 : 8; // Metal doesn't support GL_TEXTURE_COMPARE_MODE=GL_NONE for shadow samplers mNativeLimitations.noShadowSamplerCompareModeNone = true; @@ -857,7 +857,7 @@ void DisplayMtl::initializeExtensions() const mNativeExtensions.getProgramBinaryOES = true; // GL_APPLE_clip_distance - mNativeExtensions.clipDistanceAPPLE = true; + mNativeExtensions.clipDistanceAPPLE = !mFeatures.directMetalGeneration.enabled; // GL_NV_pixel_buffer_object mNativeExtensions.pixelBufferObjectNV = true; diff --git a/src/libANGLE/renderer/vulkan/ContextVk.cpp b/src/libANGLE/renderer/vulkan/ContextVk.cpp index 5b8af77032..b779d3a8e4 100644 --- a/src/libANGLE/renderer/vulkan/ContextVk.cpp +++ b/src/libANGLE/renderer/vulkan/ContextVk.cpp @@ -5086,6 +5086,17 @@ angle::Result ContextVk::updateActiveTextures(const gl::Context *context) ANGLE_TRY(textureVk->ensureMutable(this)); } + if (textureVk->getImage().hasEmulatedImageFormat()) + { + char stringBuffer[100]; + snprintf( + stringBuffer, sizeof(stringBuffer), + "The Vulkan driver does not support texture format 0x%04X, emulating with 0x%04X", + textureVk->getImage().getIntendedFormat().glInternalFormat, + textureVk->getImage().getActualFormat().glInternalFormat); + ANGLE_PERF_WARNING(getDebug(), GL_DEBUG_SEVERITY_LOW, stringBuffer); + } + vk::ImageOrBufferViewSubresourceSerial imageViewSerial = textureVk->getImageViewSubresourceSerial(samplerState); mActiveTexturesDesc.update(textureUnit, imageViewSerial, samplerHelper.getSamplerSerial()); diff --git a/src/libANGLE/renderer/vulkan/TextureVk.cpp b/src/libANGLE/renderer/vulkan/TextureVk.cpp index 3849462004..9df14e4f30 100644 --- a/src/libANGLE/renderer/vulkan/TextureVk.cpp +++ b/src/libANGLE/renderer/vulkan/TextureVk.cpp @@ -2088,6 +2088,9 @@ angle::Result TextureVk::reinitImageAsRenderable(ContextVk *contextVk, return angle::Result::Continue; } + ANGLE_PERF_WARNING(contextVk->getDebug(), GL_DEBUG_SEVERITY_LOW, + "Copying data due to texture format fallback"); + // Make sure the source is initialized and it's staged updates are flushed. ASSERT(mImage->valid()); ANGLE_TRY(flushImageStagedUpdates(contextVk)); diff --git a/src/libANGLE/renderer/vulkan/VertexArrayVk.cpp b/src/libANGLE/renderer/vulkan/VertexArrayVk.cpp index a02a2dad7d..2cec92a5f6 100644 --- a/src/libANGLE/renderer/vulkan/VertexArrayVk.cpp +++ b/src/libANGLE/renderer/vulkan/VertexArrayVk.cpp @@ -59,16 +59,17 @@ angle::Result WarnOnVertexFormatConversion(ContextVk *contextVk, return angle::Result::Continue; } - std::ostringstream stream; - stream << "The Vulkan driver does not support the 0x" << std::hex - << vertexFormat.getIntendedFormat().glInternalFormat - << " vertex attribute format; emulating with 0x" - << vertexFormat.getActualBufferFormat(compressed).glInternalFormat; - ANGLE_PERF_WARNING(contextVk->getDebug(), GL_DEBUG_SEVERITY_LOW, stream.str().c_str()); + char stringBuffer[100]; + snprintf( + stringBuffer, sizeof(stringBuffer), + "The Vulkan driver does not support vertex attribute format 0x%04X, emulating with 0x%04X", + vertexFormat.getIntendedFormat().glInternalFormat, + vertexFormat.getActualBufferFormat(compressed).glInternalFormat); + ANGLE_PERF_WARNING(contextVk->getDebug(), GL_DEBUG_SEVERITY_LOW, stringBuffer); if (insertEventMarker) { - ANGLE_TRY(contextVk->insertEventMarker(0, stream.str().c_str())); + ANGLE_TRY(contextVk->insertEventMarker(0, stringBuffer)); } return angle::Result::Continue; diff --git a/src/libANGLE/renderer/vulkan/vk_helpers.cpp b/src/libANGLE/renderer/vulkan/vk_helpers.cpp index fedf1422e2..336915df5a 100644 --- a/src/libANGLE/renderer/vulkan/vk_helpers.cpp +++ b/src/libANGLE/renderer/vulkan/vk_helpers.cpp @@ -6364,8 +6364,8 @@ angle::Result ImageHelper::flushStagedUpdates(ContextVk *contextVk, { if (update.data.buffer.formatID != mActualFormatID) { - // ToDo: anglebug:6368, we should handle this in higher level code. - // If we have incompatible updates, skip but keept it. + // TODD: http://anglebug.com/6368, we should handle this in higher level code. + // If we have incompatible updates, skip but keep it. updatesToKeep.emplace_back(std::move(update)); continue; } diff --git a/src/tests/capture_replay_tests.py b/src/tests/capture_replay_tests.py index e87ae2b9bc..6a7d4a3fdb 100755 --- a/src/tests/capture_replay_tests.py +++ b/src/tests/capture_replay_tests.py @@ -52,6 +52,7 @@ SUBPROCESS_TIMEOUT = 600 # in seconds DEFAULT_RESULT_FILE = "results.txt" DEFAULT_LOG_LEVEL = "info" DEFAULT_MAX_JOBS = 8 +DEFAULT_MAX_NINJA_JOBS = 3 REPLAY_BINARY = "capture_replay_tests" if sys.platform == "win32": REPLAY_BINARY += ".exe" @@ -800,7 +801,7 @@ def main(args): logger = multiprocessing.log_to_stderr() logger.setLevel(level=args.log.upper()) - ninja_lock = multiprocessing.Lock() + ninja_lock = multiprocessing.Semaphore(args.max_ninja_jobs) child_processes_manager = ChildProcessesManager(logger, ninja_lock) try: start_time = time.time() @@ -1053,6 +1054,11 @@ if __name__ == '__main__': '--also-run-skipped-for-capture-tests', action='store_true', help='Also run tests that are disabled in the expectations by SKIP_FOR_CAPTURE') + parser.add_argument( + '--max-ninja-jobs', + type=int, + default=DEFAULT_MAX_NINJA_JOBS, + help='Maximum number of concurrent ninja jobs to run at once.') # TODO(jmadill): Remove this argument. http://anglebug.com/6102 parser.add_argument('--depot-tools-path', default=None, help='Path to depot tools') diff --git a/src/tests/capture_replay_tests/capture_replay_expectations.txt b/src/tests/capture_replay_tests/capture_replay_expectations.txt index 55294cc225..23ac84a30f 100644 --- a/src/tests/capture_replay_tests/capture_replay_expectations.txt +++ b/src/tests/capture_replay_tests/capture_replay_expectations.txt @@ -97,6 +97,7 @@ 6180 : DrawBuffersTest.UnwrittenOutputVariablesShouldNotCrash/ES2_Vulkan_SwiftShader = FLAKY 6180 : WebGLCompatibilityTest.DrawElementsBufferOutOfBoundsInIndexBuffer/ES2_Vulkan_SwiftShader = FLAKY 6180 : ImageTest.MipLevels/* = FLAKY +6373 : WebGLCompatibilityTest.DrawArraysBufferOutOfBoundsNonInstanced/* = FLAKY # ES3 6180 : BlitFramebufferTest.BlitDepthStencilPixelByPixel/ES3_Vulkan_SwiftShader = SKIPPED_BY_GTEST diff --git a/src/tests/compiler_tests/ScalarizeVecAndMatConstructorArgs_test.cpp b/src/tests/compiler_tests/ScalarizeVecAndMatConstructorArgs_test.cpp index 6518e2afc0..80b0582a70 100644 --- a/src/tests/compiler_tests/ScalarizeVecAndMatConstructorArgs_test.cpp +++ b/src/tests/compiler_tests/ScalarizeVecAndMatConstructorArgs_test.cpp @@ -116,4 +116,21 @@ TEST_F(ScalarizeVecAndMatConstructorArgsTest, MultiDeclaration) EXPECT_TRUE(foundInCodeInOrder(expectedStrings)); } +// Verifies that constructors without precision don't cause issues. +TEST_F(ScalarizeVecAndMatConstructorArgsTest, ConstructorWithoutPrecision) +{ + const std::string shaderString = + R"( + precision mediump float; + + uniform float u; + + void main() + { + mat4 m = mat4(u); + mat2(0, bvec3(m)); + })"; + compile(shaderString); +} + } // anonymous namespace diff --git a/src/tests/deqp_support/deqp_gles3_test_expectations.txt b/src/tests/deqp_support/deqp_gles3_test_expectations.txt index c96d68e8c1..779ff6a0e8 100644 --- a/src/tests/deqp_support/deqp_gles3_test_expectations.txt +++ b/src/tests/deqp_support/deqp_gles3_test_expectations.txt @@ -376,6 +376,8 @@ 2137 MAC OPENGL INTEL : dEQP-GLES3.functional.shaders.discard.function_static_loop_never = SKIP 2137 MAC OPENGL INTEL : dEQP-GLES3.functional.shaders.discard.dynamic_loop_never = SKIP 2137 MAC OPENGL INTEL : dEQP-GLES3.functional.shaders.discard.static_loop_never = SKIP +// Mac Intel UHD 630 crashes +6376 MAC OPENGL INTEL : dEQP-GLES3.functional.draw.random.127 = SKIP // Mac Intel failures 2137 MAC OPENGL INTEL : dEQP-GLES3.functional.color_clear.* = FAIL @@ -444,6 +446,12 @@ 5172 MAC OPENGL INTEL : dEQP-GLES3.functional.fragment_out.basic.int.* = FAIL 5172 MAC OPENGL INTEL : dEQP-GLES3.functional.fragment_out.basic.uint.* = FAIL +// Mac Intel UHD 630 failures +6376 MAC OPENGL INTEL : dEQP-GLES3.functional.shaders.texture_functions.textureprojlod.isampler3d_vertex = FAIL +6376 MAC OPENGL INTEL : dEQP-GLES3.functional.shaders.texture_functions.textureprojlod.usampler3d_vertex = FAIL +6376 MAC OPENGL INTEL : dEQP-GLES3.functional.texture.mipmap.cube.base_level.linear_linear = FAIL +6376 MAC OPENGL INTEL : dEQP-GLES3.functional.texture.mipmap.cube.base_level.linear_nearest = FAIL + // Android only failures 1487 ANDROID GLES : dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0.red_half_float_oes = FAIL 1487 ANDROID GLES : dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0.rg_half_float_oes = FAIL diff --git a/src/tests/perf_tests/TracePerfTest.cpp b/src/tests/perf_tests/TracePerfTest.cpp index ab23f285f3..8c9d868d8d 100644 --- a/src/tests/perf_tests/TracePerfTest.cpp +++ b/src/tests/perf_tests/TracePerfTest.cpp @@ -1317,12 +1317,6 @@ void TracePerfTest::drawBenchmark() uint32_t windowX = kOffscreenOffsetX + frameX * kOffscreenFrameWidth; uint32_t windowY = kOffscreenOffsetY + frameY * kOffscreenFrameHeight; - if (gVerboseLogging) - { - printf("Frame %d: x %d y %d (screen x %d, screen y %d)\n", mOffscreenFrameCount, - frameX, frameY, windowX, windowY); - } - GLboolean scissorTest = GL_FALSE; glGetBooleanv(GL_SCISSOR_TEST, &scissorTest); diff --git a/src/tests/restricted_traces/.gitignore b/src/tests/restricted_traces/.gitignore index 85baa5fbe1..fba8fa117a 100644 --- a/src/tests/restricted_traces/.gitignore +++ b/src/tests/restricted_traces/.gitignore @@ -6,6 +6,7 @@ asphalt_8/ avakin_life/ aztec_ruins/ beach_buggy_racing/ +blockman_go/ brawl_stars/ bricks_breaker_quest/ bubble_shooter/ diff --git a/src/tests/restricted_traces/restricted_traces.json b/src/tests/restricted_traces/restricted_traces.json index a9b0b24ee2..69bb1d2b58 100644 --- a/src/tests/restricted_traces/restricted_traces.json +++ b/src/tests/restricted_traces/restricted_traces.json @@ -16,6 +16,7 @@ "avakin_life 1", "aztec_ruins 1", "beach_buggy_racing 1", + "blockman_go 1", "brawl_stars 1", "bricks_breaker_quest 1", "bubble_shooter 1", diff --git a/src/tests/restricted_traces/restricted_traces_autogen.cpp b/src/tests/restricted_traces/restricted_traces_autogen.cpp index cd4f439bb2..214fe352b2 100644 --- a/src/tests/restricted_traces/restricted_traces_autogen.cpp +++ b/src/tests/restricted_traces/restricted_traces_autogen.cpp @@ -20,6 +20,7 @@ #include "avakin_life/avakin_life_capture_context1.h" #include "aztec_ruins/aztec_ruins_capture_context1.h" #include "beach_buggy_racing/beach_buggy_racing_capture_context1.h" +#include "blockman_go/blockman_go_capture_context2.h" #include "brawl_stars/brawl_stars_capture_context1.h" #include "bricks_breaker_quest/bricks_breaker_quest_capture_context2.h" #include "bubble_shooter/bubble_shooter_capture_context5.h" @@ -119,7 +120,7 @@ namespace trace_angle { namespace { -constexpr size_t kNumTraces = 102; +constexpr size_t kNumTraces = 103; struct TracePair { const char name[kTraceInfoMaxNameLen]; @@ -302,6 +303,28 @@ constexpr TracePair kTraceInfos[kNumTraces] = { false, false, false}}, + {"blockman_go", + {"blockman_go", + blockman_go::kReplayContextClientMajorVersion, + blockman_go::kReplayContextClientMinorVersion, + blockman_go::kReplayFrameStart, + blockman_go::kReplayFrameEnd, + blockman_go::kReplayDrawSurfaceWidth, + blockman_go::kReplayDrawSurfaceHeight, + blockman_go::kReplayDrawSurfaceColorSpace, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + false, + false, + false, + false, + false}}, {"brawl_stars", {"brawl_stars", brawl_stars::kReplayContextClientMajorVersion, diff --git a/src/tests/restricted_traces/restricted_traces_autogen.gni b/src/tests/restricted_traces/restricted_traces_autogen.gni index d489e6d089..3de91c1871 100644 --- a/src/tests/restricted_traces/restricted_traces_autogen.gni +++ b/src/tests/restricted_traces/restricted_traces_autogen.gni @@ -187,6 +187,114 @@ angle_restricted_traces = [ [ "beach_buggy_racing/beach_buggy_racing_capture_context1.angledata.gz" ], ], [ + "blockman_go", + 2, + [ + "blockman_go/blockman_go_capture_context2_frame001.cpp", + "blockman_go/blockman_go_capture_context2_frame002.cpp", + "blockman_go/blockman_go_capture_context2_frame003.cpp", + "blockman_go/blockman_go_capture_context2_frame004.cpp", + "blockman_go/blockman_go_capture_context2_frame005.cpp", + "blockman_go/blockman_go_capture_context2_frame006.cpp", + "blockman_go/blockman_go_capture_context2_frame007.cpp", + "blockman_go/blockman_go_capture_context2_frame008.cpp", + "blockman_go/blockman_go_capture_context2_frame009.cpp", + "blockman_go/blockman_go_capture_context2_frame010.cpp", + "blockman_go/blockman_go_capture_context2_frame011.cpp", + "blockman_go/blockman_go_capture_context2_frame012.cpp", + "blockman_go/blockman_go_capture_context2_frame013.cpp", + "blockman_go/blockman_go_capture_context2_frame014.cpp", + "blockman_go/blockman_go_capture_context2_frame015.cpp", + "blockman_go/blockman_go_capture_context2_frame016.cpp", + "blockman_go/blockman_go_capture_context2_frame017.cpp", + "blockman_go/blockman_go_capture_context2_frame018.cpp", + "blockman_go/blockman_go_capture_context2_frame019.cpp", + "blockman_go/blockman_go_capture_context2_frame020.cpp", + "blockman_go/blockman_go_capture_context2_frame021.cpp", + "blockman_go/blockman_go_capture_context2_frame022.cpp", + "blockman_go/blockman_go_capture_context2_frame023.cpp", + "blockman_go/blockman_go_capture_context2_frame024.cpp", + "blockman_go/blockman_go_capture_context2_frame025.cpp", + "blockman_go/blockman_go_capture_context2_frame026.cpp", + "blockman_go/blockman_go_capture_context2_frame027.cpp", + "blockman_go/blockman_go_capture_context2_frame028.cpp", + "blockman_go/blockman_go_capture_context2_frame029.cpp", + "blockman_go/blockman_go_capture_context2_frame030.cpp", + "blockman_go/blockman_go_capture_context2_frame031.cpp", + "blockman_go/blockman_go_capture_context2_frame032.cpp", + "blockman_go/blockman_go_capture_context2_frame033.cpp", + "blockman_go/blockman_go_capture_context2_frame034.cpp", + "blockman_go/blockman_go_capture_context2_frame035.cpp", + "blockman_go/blockman_go_capture_context2_frame036.cpp", + "blockman_go/blockman_go_capture_context2_frame037.cpp", + "blockman_go/blockman_go_capture_context2_frame038.cpp", + "blockman_go/blockman_go_capture_context2_frame039.cpp", + "blockman_go/blockman_go_capture_context2_frame040.cpp", + "blockman_go/blockman_go_capture_context2_frame041.cpp", + "blockman_go/blockman_go_capture_context2_frame042.cpp", + "blockman_go/blockman_go_capture_context2_frame043.cpp", + "blockman_go/blockman_go_capture_context2_frame044.cpp", + "blockman_go/blockman_go_capture_context2_frame045.cpp", + "blockman_go/blockman_go_capture_context2_frame046.cpp", + "blockman_go/blockman_go_capture_context2_frame047.cpp", + "blockman_go/blockman_go_capture_context2_frame048.cpp", + "blockman_go/blockman_go_capture_context2_frame049.cpp", + "blockman_go/blockman_go_capture_context2_frame050.cpp", + "blockman_go/blockman_go_capture_context2_frame051.cpp", + "blockman_go/blockman_go_capture_context2_frame052.cpp", + "blockman_go/blockman_go_capture_context2_frame053.cpp", + "blockman_go/blockman_go_capture_context2_frame054.cpp", + "blockman_go/blockman_go_capture_context2_frame055.cpp", + "blockman_go/blockman_go_capture_context2_frame056.cpp", + "blockman_go/blockman_go_capture_context2_frame057.cpp", + "blockman_go/blockman_go_capture_context2_frame058.cpp", + "blockman_go/blockman_go_capture_context2_frame059.cpp", + "blockman_go/blockman_go_capture_context2_frame060.cpp", + "blockman_go/blockman_go_capture_context2_frame061.cpp", + "blockman_go/blockman_go_capture_context2_frame062.cpp", + "blockman_go/blockman_go_capture_context2_frame063.cpp", + "blockman_go/blockman_go_capture_context2_frame064.cpp", + "blockman_go/blockman_go_capture_context2_frame065.cpp", + "blockman_go/blockman_go_capture_context2_frame066.cpp", + "blockman_go/blockman_go_capture_context2_frame067.cpp", + "blockman_go/blockman_go_capture_context2_frame068.cpp", + "blockman_go/blockman_go_capture_context2_frame069.cpp", + "blockman_go/blockman_go_capture_context2_frame070.cpp", + "blockman_go/blockman_go_capture_context2_frame071.cpp", + "blockman_go/blockman_go_capture_context2_frame072.cpp", + "blockman_go/blockman_go_capture_context2_frame073.cpp", + "blockman_go/blockman_go_capture_context2_frame074.cpp", + "blockman_go/blockman_go_capture_context2_frame075.cpp", + "blockman_go/blockman_go_capture_context2_frame076.cpp", + "blockman_go/blockman_go_capture_context2_frame077.cpp", + "blockman_go/blockman_go_capture_context2_frame078.cpp", + "blockman_go/blockman_go_capture_context2_frame079.cpp", + "blockman_go/blockman_go_capture_context2_frame080.cpp", + "blockman_go/blockman_go_capture_context2_frame081.cpp", + "blockman_go/blockman_go_capture_context2_frame082.cpp", + "blockman_go/blockman_go_capture_context2_frame083.cpp", + "blockman_go/blockman_go_capture_context2_frame084.cpp", + "blockman_go/blockman_go_capture_context2_frame085.cpp", + "blockman_go/blockman_go_capture_context2_frame086.cpp", + "blockman_go/blockman_go_capture_context2_frame087.cpp", + "blockman_go/blockman_go_capture_context2_frame088.cpp", + "blockman_go/blockman_go_capture_context2_frame089.cpp", + "blockman_go/blockman_go_capture_context2_frame090.cpp", + "blockman_go/blockman_go_capture_context2_frame091.cpp", + "blockman_go/blockman_go_capture_context2_frame092.cpp", + "blockman_go/blockman_go_capture_context2_frame093.cpp", + "blockman_go/blockman_go_capture_context2_frame094.cpp", + "blockman_go/blockman_go_capture_context2_frame095.cpp", + "blockman_go/blockman_go_capture_context2_frame096.cpp", + "blockman_go/blockman_go_capture_context2_frame097.cpp", + "blockman_go/blockman_go_capture_context2_frame098.cpp", + "blockman_go/blockman_go_capture_context2_frame099.cpp", + "blockman_go/blockman_go_capture_context2_frame100.cpp", + "blockman_go/blockman_go_capture_shared.cpp", + ], + [ "blockman_go/blockman_go.angledata.gz" ], + ], + [ "brawl_stars", 1, [ diff --git a/third_party/abseil-cpp/CMake/install_test_project/CMakeLists.txt b/third_party/abseil-cpp/CMake/install_test_project/CMakeLists.txt index eebfe617a4..b865b2ec50 100644 --- a/third_party/abseil-cpp/CMake/install_test_project/CMakeLists.txt +++ b/third_party/abseil-cpp/CMake/install_test_project/CMakeLists.txt @@ -22,4 +22,4 @@ add_executable(simple simple.cc) find_package(absl REQUIRED) -target_link_libraries(simple absl::strings) +target_link_libraries(simple absl::strings absl::config) diff --git a/third_party/abseil-cpp/CMake/install_test_project/simple.cc b/third_party/abseil-cpp/CMake/install_test_project/simple.cc index e9e352912b..7daa7f0901 100644 --- a/third_party/abseil-cpp/CMake/install_test_project/simple.cc +++ b/third_party/abseil-cpp/CMake/install_test_project/simple.cc @@ -14,8 +14,17 @@ // limitations under the License. #include <iostream> +#include "absl/base/config.h" #include "absl/strings/substitute.h" +#if !defined(ABSL_LTS_RELEASE_VERSION) || ABSL_LTS_RELEASE_VERSION != 99998877 +#error ABSL_LTS_RELEASE_VERSION is not set correctly. +#endif + +#if !defined(ABSL_LTS_RELEASE_PATCH_LEVEL) || ABSL_LTS_RELEASE_PATCH_LEVEL != 0 +#error ABSL_LTS_RELEASE_PATCH_LEVEL is not set correctly. +#endif + int main(int argc, char** argv) { for (int i = 0; i < argc; ++i) { std::cout << absl::Substitute("Arg $0: $1\n", i, argv[i]); diff --git a/third_party/abseil-cpp/README.chromium b/third_party/abseil-cpp/README.chromium index 9ecfe0f345..8d27557d1d 100644 --- a/third_party/abseil-cpp/README.chromium +++ b/third_party/abseil-cpp/README.chromium @@ -4,7 +4,7 @@ URL: https://github.com/abseil/abseil-cpp License: Apache 2.0 License File: LICENSE Version: 0 -Revision: 637722af3a60c17915d3325604a0435ee92a41b4 +Revision: 8c800bb08d353c73d7dd68538388cf3bd2bcc6d0 Security Critical: yes Description: diff --git a/third_party/abseil-cpp/README.md b/third_party/abseil-cpp/README.md index 264c4b3fea..db3a7b447a 100644 --- a/third_party/abseil-cpp/README.md +++ b/third_party/abseil-cpp/README.md @@ -92,6 +92,9 @@ Abseil contains the following C++ library components: available within C++14 and C++17 versions of the C++ `<type_traits>` library. * [`numeric`](absl/numeric/) <br /> The `numeric` library contains C++11-compatible 128-bit integers. +* [`profiling`](absl/profiling/) + <br /> The `profiling` library contains utility code for profiling C++ + entities. It is currently a private dependency of other Abseil libraries. * [`status`](absl/status/) <br /> The `status` contains abstractions for error handling, specifically `absl::Status` and `absl::StatusOr<T>`. diff --git a/third_party/abseil-cpp/absl/CMakeLists.txt b/third_party/abseil-cpp/absl/CMakeLists.txt index a41e1eeb35..b1715846f0 100644 --- a/third_party/abseil-cpp/absl/CMakeLists.txt +++ b/third_party/abseil-cpp/absl/CMakeLists.txt @@ -25,6 +25,7 @@ add_subdirectory(hash) add_subdirectory(memory) add_subdirectory(meta) add_subdirectory(numeric) +add_subdirectory(profiling) add_subdirectory(random) add_subdirectory(status) add_subdirectory(strings) diff --git a/third_party/abseil-cpp/absl/base/attributes.h b/third_party/abseil-cpp/absl/base/attributes.h index 52139556f2..2665d8f387 100644 --- a/third_party/abseil-cpp/absl/base/attributes.h +++ b/third_party/abseil-cpp/absl/base/attributes.h @@ -548,13 +548,19 @@ // ABSL_ATTRIBUTE_PACKED // // Instructs the compiler not to use natural alignment for a tagged data -// structure, but instead to reduce its alignment to 1. This attribute can -// either be applied to members of a structure or to a structure in its -// entirety. Applying this attribute (judiciously) to a structure in its -// entirety to optimize the memory footprint of very commonly-used structs is -// fine. Do not apply this attribute to a structure in its entirety if the -// purpose is to control the offsets of the members in the structure. Instead, -// apply this attribute only to structure members that need it. +// structure, but instead to reduce its alignment to 1. +// +// Therefore, DO NOT APPLY THIS ATTRIBUTE TO STRUCTS CONTAINING ATOMICS. Doing +// so can cause atomic variables to be mis-aligned and silently violate +// atomicity on x86. +// +// This attribute can either be applied to members of a structure or to a +// structure in its entirety. Applying this attribute (judiciously) to a +// structure in its entirety to optimize the memory footprint of very +// commonly-used structs is fine. Do not apply this attribute to a structure in +// its entirety if the purpose is to control the offsets of the members in the +// structure. Instead, apply this attribute only to structure members that need +// it. // // When applying ABSL_ATTRIBUTE_PACKED only to specific structure members the // natural alignment of structure members not annotated is preserved. Aligned diff --git a/third_party/abseil-cpp/absl/base/config.h b/third_party/abseil-cpp/absl/base/config.h index 0524196d56..c7b2e64de8 100644 --- a/third_party/abseil-cpp/absl/base/config.h +++ b/third_party/abseil-cpp/absl/base/config.h @@ -66,6 +66,35 @@ #include "absl/base/options.h" #include "absl/base/policy_checks.h" +// Abseil long-term support (LTS) releases will define +// `ABSL_LTS_RELEASE_VERSION` to the integer representing the date string of the +// LTS release version, and will define `ABSL_LTS_RELEASE_PATCH_LEVEL` to the +// integer representing the patch-level for that release. +// +// For example, for LTS release version "20300401.2", this would give us +// ABSL_LTS_RELEASE_VERSION == 20300401 && ABSL_LTS_RELEASE_PATCH_LEVEL == 2 +// +// These symbols will not be defined in non-LTS code. +// +// Abseil recommends that clients live-at-head. Therefore, if you are using +// these symbols to assert a minimum version requirement, we recommend you do it +// as +// +// #if defined(ABSL_LTS_RELEASE_VERSION) && ABSL_LTS_RELEASE_VERSION < 20300401 +// #error Project foo requires Abseil LTS version >= 20300401 +// #endif +// +// The `defined(ABSL_LTS_RELEASE_VERSION)` part of the check excludes +// live-at-head clients from the minimum version assertion. +// +// See https://abseil.io/about/releases for more information on Abseil release +// management. +// +// LTS releases can be obtained from +// https://github.com/abseil/abseil-cpp/releases. +#undef ABSL_LTS_RELEASE_VERSION +#undef ABSL_LTS_RELEASE_PATCH_LEVEL + // Helper macro to convert a CPP variable to a string literal. #define ABSL_INTERNAL_DO_TOKEN_STR(x) #x #define ABSL_INTERNAL_TOKEN_STR(x) ABSL_INTERNAL_DO_TOKEN_STR(x) diff --git a/third_party/abseil-cpp/absl/base/dynamic_annotations.h b/third_party/abseil-cpp/absl/base/dynamic_annotations.h index 065bd5be09..1ebf1d124b 100644 --- a/third_party/abseil-cpp/absl/base/dynamic_annotations.h +++ b/third_party/abseil-cpp/absl/base/dynamic_annotations.h @@ -430,31 +430,6 @@ ABSL_NAMESPACE_END #endif -#ifdef __cplusplus -#ifdef ABSL_HAVE_THREAD_SANITIZER -ABSL_INTERNAL_BEGIN_EXTERN_C -int RunningOnValgrind(); -double ValgrindSlowdown(); -ABSL_INTERNAL_END_EXTERN_C -#else -namespace absl { -ABSL_NAMESPACE_BEGIN -namespace base_internal { -ABSL_DEPRECATED( - "Don't use this interface. It is misleading and is being deleted.") -ABSL_ATTRIBUTE_ALWAYS_INLINE inline int RunningOnValgrind() { return 0; } -ABSL_DEPRECATED( - "Don't use this interface. It is misleading and is being deleted.") -ABSL_ATTRIBUTE_ALWAYS_INLINE inline double ValgrindSlowdown() { return 1.0; } -} // namespace base_internal -ABSL_NAMESPACE_END -} // namespace absl - -using absl::base_internal::RunningOnValgrind; -using absl::base_internal::ValgrindSlowdown; -#endif -#endif - // ------------------------------------------------------------------------- // Address sanitizer annotations diff --git a/third_party/abseil-cpp/absl/container/inlined_vector.h b/third_party/abseil-cpp/absl/container/inlined_vector.h index 7c18234235..37e5fef8fd 100644 --- a/third_party/abseil-cpp/absl/container/inlined_vector.h +++ b/third_party/abseil-cpp/absl/container/inlined_vector.h @@ -72,37 +72,43 @@ class InlinedVector { using Storage = inlined_vector_internal::Storage<T, N, A>; - using AllocatorTraits = typename Storage::AllocatorTraits; - using RValueReference = typename Storage::RValueReference; - using MoveIterator = typename Storage::MoveIterator; - using IsMemcpyOk = typename Storage::IsMemcpyOk; - - template <typename Iterator> + template <typename TheA> + using AllocatorTraits = inlined_vector_internal::AllocatorTraits<TheA>; + template <typename TheA> + using MoveIterator = inlined_vector_internal::MoveIterator<TheA>; + template <typename TheA> + using IsMemcpyOk = inlined_vector_internal::IsMemcpyOk<TheA>; + + template <typename TheA, typename Iterator> using IteratorValueAdapter = - typename Storage::template IteratorValueAdapter<Iterator>; - using CopyValueAdapter = typename Storage::CopyValueAdapter; - using DefaultValueAdapter = typename Storage::DefaultValueAdapter; + inlined_vector_internal::IteratorValueAdapter<TheA, Iterator>; + template <typename TheA> + using CopyValueAdapter = inlined_vector_internal::CopyValueAdapter<TheA>; + template <typename TheA> + using DefaultValueAdapter = + inlined_vector_internal::DefaultValueAdapter<TheA>; template <typename Iterator> using EnableIfAtLeastForwardIterator = absl::enable_if_t< - inlined_vector_internal::IsAtLeastForwardIterator<Iterator>::value>; + inlined_vector_internal::IsAtLeastForwardIterator<Iterator>::value, int>; template <typename Iterator> using DisableIfAtLeastForwardIterator = absl::enable_if_t< - !inlined_vector_internal::IsAtLeastForwardIterator<Iterator>::value>; + !inlined_vector_internal::IsAtLeastForwardIterator<Iterator>::value, int>; public: - using allocator_type = typename Storage::allocator_type; - using value_type = typename Storage::value_type; - using pointer = typename Storage::pointer; - using const_pointer = typename Storage::const_pointer; - using size_type = typename Storage::size_type; - using difference_type = typename Storage::difference_type; - using reference = typename Storage::reference; - using const_reference = typename Storage::const_reference; - using iterator = typename Storage::iterator; - using const_iterator = typename Storage::const_iterator; - using reverse_iterator = typename Storage::reverse_iterator; - using const_reverse_iterator = typename Storage::const_reverse_iterator; + using allocator_type = A; + using value_type = inlined_vector_internal::ValueType<A>; + using pointer = inlined_vector_internal::Pointer<A>; + using const_pointer = inlined_vector_internal::ConstPointer<A>; + using size_type = inlined_vector_internal::SizeType<A>; + using difference_type = inlined_vector_internal::DifferenceType<A>; + using reference = inlined_vector_internal::Reference<A>; + using const_reference = inlined_vector_internal::ConstReference<A>; + using iterator = inlined_vector_internal::Iterator<A>; + using const_iterator = inlined_vector_internal::ConstIterator<A>; + using reverse_iterator = inlined_vector_internal::ReverseIterator<A>; + using const_reverse_iterator = + inlined_vector_internal::ConstReverseIterator<A>; // --------------------------------------------------------------------------- // InlinedVector Constructors and Destructor @@ -111,28 +117,28 @@ class InlinedVector { // Creates an empty inlined vector with a value-initialized allocator. InlinedVector() noexcept(noexcept(allocator_type())) : storage_() {} - // Creates an empty inlined vector with a copy of `alloc`. - explicit InlinedVector(const allocator_type& alloc) noexcept - : storage_(alloc) {} + // Creates an empty inlined vector with a copy of `allocator`. + explicit InlinedVector(const allocator_type& allocator) noexcept + : storage_(allocator) {} // Creates an inlined vector with `n` copies of `value_type()`. explicit InlinedVector(size_type n, - const allocator_type& alloc = allocator_type()) - : storage_(alloc) { - storage_.Initialize(DefaultValueAdapter(), n); + const allocator_type& allocator = allocator_type()) + : storage_(allocator) { + storage_.Initialize(DefaultValueAdapter<A>(), n); } // Creates an inlined vector with `n` copies of `v`. InlinedVector(size_type n, const_reference v, - const allocator_type& alloc = allocator_type()) - : storage_(alloc) { - storage_.Initialize(CopyValueAdapter(v), n); + const allocator_type& allocator = allocator_type()) + : storage_(allocator) { + storage_.Initialize(CopyValueAdapter<A>(std::addressof(v)), n); } // Creates an inlined vector with copies of the elements of `list`. InlinedVector(std::initializer_list<value_type> list, - const allocator_type& alloc = allocator_type()) - : InlinedVector(list.begin(), list.end(), alloc) {} + const allocator_type& allocator = allocator_type()) + : InlinedVector(list.begin(), list.end(), allocator) {} // Creates an inlined vector with elements constructed from the provided // forward iterator range [`first`, `last`). @@ -141,35 +147,36 @@ class InlinedVector { // this constructor with two integral arguments and a call to the above // `InlinedVector(size_type, const_reference)` constructor. template <typename ForwardIterator, - EnableIfAtLeastForwardIterator<ForwardIterator>* = nullptr> + EnableIfAtLeastForwardIterator<ForwardIterator> = 0> InlinedVector(ForwardIterator first, ForwardIterator last, - const allocator_type& alloc = allocator_type()) - : storage_(alloc) { - storage_.Initialize(IteratorValueAdapter<ForwardIterator>(first), + const allocator_type& allocator = allocator_type()) + : storage_(allocator) { + storage_.Initialize(IteratorValueAdapter<A, ForwardIterator>(first), std::distance(first, last)); } // Creates an inlined vector with elements constructed from the provided input // iterator range [`first`, `last`). template <typename InputIterator, - DisableIfAtLeastForwardIterator<InputIterator>* = nullptr> + DisableIfAtLeastForwardIterator<InputIterator> = 0> InlinedVector(InputIterator first, InputIterator last, - const allocator_type& alloc = allocator_type()) - : storage_(alloc) { + const allocator_type& allocator = allocator_type()) + : storage_(allocator) { std::copy(first, last, std::back_inserter(*this)); } // Creates an inlined vector by copying the contents of `other` using // `other`'s allocator. InlinedVector(const InlinedVector& other) - : InlinedVector(other, *other.storage_.GetAllocPtr()) {} + : InlinedVector(other, other.storage_.GetAllocator()) {} - // Creates an inlined vector by copying the contents of `other` using `alloc`. - InlinedVector(const InlinedVector& other, const allocator_type& alloc) - : storage_(alloc) { + // Creates an inlined vector by copying the contents of `other` using the + // provided `allocator`. + InlinedVector(const InlinedVector& other, const allocator_type& allocator) + : storage_(allocator) { if (other.empty()) { // Empty; nothing to do. - } else if (IsMemcpyOk::value && !other.storage_.GetIsAllocated()) { + } else if (IsMemcpyOk<A>::value && !other.storage_.GetIsAllocated()) { // Memcpy-able and do not need allocation. storage_.MemcpyFrom(other.storage_); } else { @@ -194,8 +201,8 @@ class InlinedVector { InlinedVector(InlinedVector&& other) noexcept( absl::allocator_is_nothrow<allocator_type>::value || std::is_nothrow_move_constructible<value_type>::value) - : storage_(*other.storage_.GetAllocPtr()) { - if (IsMemcpyOk::value) { + : storage_(other.storage_.GetAllocator()) { + if (IsMemcpyOk<A>::value) { storage_.MemcpyFrom(other.storage_); other.storage_.SetInlinedSize(0); @@ -206,11 +213,11 @@ class InlinedVector { other.storage_.SetInlinedSize(0); } else { - IteratorValueAdapter<MoveIterator> other_values( - MoveIterator(other.storage_.GetInlinedData())); + IteratorValueAdapter<A, MoveIterator<A>> other_values( + MoveIterator<A>(other.storage_.GetInlinedData())); - inlined_vector_internal::ConstructElements( - storage_.GetAllocPtr(), storage_.GetInlinedData(), &other_values, + inlined_vector_internal::ConstructElements<A>( + storage_.GetAllocator(), storage_.GetInlinedData(), other_values, other.storage_.GetSize()); storage_.SetInlinedSize(other.storage_.GetSize()); @@ -218,20 +225,22 @@ class InlinedVector { } // Creates an inlined vector by moving in the contents of `other` with a copy - // of `alloc`. + // of `allocator`. // - // NOTE: if `other`'s allocator is not equal to `alloc`, even if `other` + // NOTE: if `other`'s allocator is not equal to `allocator`, even if `other` // contains allocated memory, this move constructor will still allocate. Since // allocation is performed, this constructor can only be `noexcept` if the // specified allocator is also `noexcept`. - InlinedVector(InlinedVector&& other, const allocator_type& alloc) noexcept( - absl::allocator_is_nothrow<allocator_type>::value) - : storage_(alloc) { - if (IsMemcpyOk::value) { + InlinedVector( + InlinedVector&& other, + const allocator_type& allocator) + noexcept(absl::allocator_is_nothrow<allocator_type>::value) + : storage_(allocator) { + if (IsMemcpyOk<A>::value) { storage_.MemcpyFrom(other.storage_); other.storage_.SetInlinedSize(0); - } else if ((*storage_.GetAllocPtr() == *other.storage_.GetAllocPtr()) && + } else if ((storage_.GetAllocator() == other.storage_.GetAllocator()) && other.storage_.GetIsAllocated()) { storage_.SetAllocatedData(other.storage_.GetAllocatedData(), other.storage_.GetAllocatedCapacity()); @@ -239,9 +248,9 @@ class InlinedVector { other.storage_.SetInlinedSize(0); } else { - storage_.Initialize( - IteratorValueAdapter<MoveIterator>(MoveIterator(other.data())), - other.size()); + storage_.Initialize(IteratorValueAdapter<A, MoveIterator<A>>( + MoveIterator<A>(other.data())), + other.size()); } } @@ -442,7 +451,7 @@ class InlinedVector { // `InlinedVector::get_allocator()` // // Returns a copy of the inlined vector's allocator. - allocator_type get_allocator() const { return *storage_.GetAllocPtr(); } + allocator_type get_allocator() const { return storage_.GetAllocator(); } // --------------------------------------------------------------------------- // InlinedVector Member Mutators @@ -476,16 +485,16 @@ class InlinedVector { // unspecified state. InlinedVector& operator=(InlinedVector&& other) { if (ABSL_PREDICT_TRUE(this != std::addressof(other))) { - if (IsMemcpyOk::value || other.storage_.GetIsAllocated()) { - inlined_vector_internal::DestroyElements(storage_.GetAllocPtr(), data(), - size()); + if (IsMemcpyOk<A>::value || other.storage_.GetIsAllocated()) { + inlined_vector_internal::DestroyElements<A>(storage_.GetAllocator(), + data(), size()); storage_.DeallocateIfAllocated(); storage_.MemcpyFrom(other.storage_); other.storage_.SetInlinedSize(0); } else { - storage_.Assign(IteratorValueAdapter<MoveIterator>( - MoveIterator(other.storage_.GetInlinedData())), + storage_.Assign(IteratorValueAdapter<A, MoveIterator<A>>( + MoveIterator<A>(other.storage_.GetInlinedData())), other.size()); } } @@ -497,7 +506,7 @@ class InlinedVector { // // Replaces the contents of the inlined vector with `n` copies of `v`. void assign(size_type n, const_reference v) { - storage_.Assign(CopyValueAdapter(v), n); + storage_.Assign(CopyValueAdapter<A>(std::addressof(v)), n); } // Overload of `InlinedVector::assign(...)` that replaces the contents of the @@ -511,9 +520,9 @@ class InlinedVector { // // NOTE: this overload is for iterators that are "forward" category or better. template <typename ForwardIterator, - EnableIfAtLeastForwardIterator<ForwardIterator>* = nullptr> + EnableIfAtLeastForwardIterator<ForwardIterator> = 0> void assign(ForwardIterator first, ForwardIterator last) { - storage_.Assign(IteratorValueAdapter<ForwardIterator>(first), + storage_.Assign(IteratorValueAdapter<A, ForwardIterator>(first), std::distance(first, last)); } @@ -522,7 +531,7 @@ class InlinedVector { // // NOTE: this overload is for iterators that are "input" category. template <typename InputIterator, - DisableIfAtLeastForwardIterator<InputIterator>* = nullptr> + DisableIfAtLeastForwardIterator<InputIterator> = 0> void assign(InputIterator first, InputIterator last) { size_type i = 0; for (; i < size() && first != last; ++i, static_cast<void>(++first)) { @@ -541,7 +550,7 @@ class InlinedVector { // is larger than `size()`, new elements are value-initialized. void resize(size_type n) { ABSL_HARDENING_ASSERT(n <= max_size()); - storage_.Resize(DefaultValueAdapter(), n); + storage_.Resize(DefaultValueAdapter<A>(), n); } // Overload of `InlinedVector::resize(...)` that resizes the inlined vector to @@ -551,7 +560,7 @@ class InlinedVector { // is larger than `size()`, new elements are copied-constructed from `v`. void resize(size_type n, const_reference v) { ABSL_HARDENING_ASSERT(n <= max_size()); - storage_.Resize(CopyValueAdapter(v), n); + storage_.Resize(CopyValueAdapter<A>(std::addressof(v)), n); } // `InlinedVector::insert(...)` @@ -564,7 +573,7 @@ class InlinedVector { // Overload of `InlinedVector::insert(...)` that inserts `v` at `pos` using // move semantics, returning an `iterator` to the newly inserted element. - iterator insert(const_iterator pos, RValueReference v) { + iterator insert(const_iterator pos, value_type&& v) { return emplace(pos, std::move(v)); } @@ -577,7 +586,8 @@ class InlinedVector { if (ABSL_PREDICT_TRUE(n != 0)) { value_type dealias = v; - return storage_.Insert(pos, CopyValueAdapter(dealias), n); + return storage_.Insert(pos, CopyValueAdapter<A>(std::addressof(dealias)), + n); } else { return const_cast<iterator>(pos); } @@ -596,14 +606,15 @@ class InlinedVector { // // NOTE: this overload is for iterators that are "forward" category or better. template <typename ForwardIterator, - EnableIfAtLeastForwardIterator<ForwardIterator>* = nullptr> + EnableIfAtLeastForwardIterator<ForwardIterator> = 0> iterator insert(const_iterator pos, ForwardIterator first, ForwardIterator last) { ABSL_HARDENING_ASSERT(pos >= begin()); ABSL_HARDENING_ASSERT(pos <= end()); if (ABSL_PREDICT_TRUE(first != last)) { - return storage_.Insert(pos, IteratorValueAdapter<ForwardIterator>(first), + return storage_.Insert(pos, + IteratorValueAdapter<A, ForwardIterator>(first), std::distance(first, last)); } else { return const_cast<iterator>(pos); @@ -616,7 +627,7 @@ class InlinedVector { // // NOTE: this overload is for iterators that are "input" category. template <typename InputIterator, - DisableIfAtLeastForwardIterator<InputIterator>* = nullptr> + DisableIfAtLeastForwardIterator<InputIterator> = 0> iterator insert(const_iterator pos, InputIterator first, InputIterator last) { ABSL_HARDENING_ASSERT(pos >= begin()); ABSL_HARDENING_ASSERT(pos <= end()); @@ -640,8 +651,8 @@ class InlinedVector { value_type dealias(std::forward<Args>(args)...); return storage_.Insert(pos, - IteratorValueAdapter<MoveIterator>( - MoveIterator(std::addressof(dealias))), + IteratorValueAdapter<A, MoveIterator<A>>( + MoveIterator<A>(std::addressof(dealias))), 1); } @@ -661,7 +672,7 @@ class InlinedVector { // Overload of `InlinedVector::push_back(...)` for inserting `v` at `end()` // using move semantics. - void push_back(RValueReference v) { + void push_back(value_type&& v) { static_cast<void>(emplace_back(std::move(v))); } @@ -671,7 +682,7 @@ class InlinedVector { void pop_back() noexcept { ABSL_HARDENING_ASSERT(!empty()); - AllocatorTraits::destroy(*storage_.GetAllocPtr(), data() + (size() - 1)); + AllocatorTraits<A>::destroy(storage_.GetAllocator(), data() + (size() - 1)); storage_.SubtractSize(1); } @@ -710,8 +721,8 @@ class InlinedVector { // Destroys all elements in the inlined vector, setting the size to `0` and // deallocating any held memory. void clear() noexcept { - inlined_vector_internal::DestroyElements(storage_.GetAllocPtr(), data(), - size()); + inlined_vector_internal::DestroyElements<A>(storage_.GetAllocator(), data(), + size()); storage_.DeallocateIfAllocated(); storage_.SetInlinedSize(0); diff --git a/third_party/abseil-cpp/absl/container/internal/inlined_vector.h b/third_party/abseil-cpp/absl/container/internal/inlined_vector.h index 49822af0b7..1cfba9b218 100644 --- a/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +++ b/third_party/abseil-cpp/absl/container/internal/inlined_vector.h @@ -40,45 +40,65 @@ namespace inlined_vector_internal { #pragma GCC diagnostic ignored "-Wmaybe-uninitialized" #endif +template <typename A> +using AllocatorTraits = std::allocator_traits<A>; +template <typename A> +using ValueType = typename AllocatorTraits<A>::value_type; +template <typename A> +using SizeType = typename AllocatorTraits<A>::size_type; +template <typename A> +using Pointer = typename AllocatorTraits<A>::pointer; +template <typename A> +using ConstPointer = typename AllocatorTraits<A>::const_pointer; +template <typename A> +using SizeType = typename AllocatorTraits<A>::size_type; +template <typename A> +using DifferenceType = typename AllocatorTraits<A>::difference_type; +template <typename A> +using Reference = ValueType<A>&; +template <typename A> +using ConstReference = const ValueType<A>&; +template <typename A> +using Iterator = Pointer<A>; +template <typename A> +using ConstIterator = ConstPointer<A>; +template <typename A> +using ReverseIterator = typename std::reverse_iterator<Iterator<A>>; +template <typename A> +using ConstReverseIterator = typename std::reverse_iterator<ConstIterator<A>>; +template <typename A> +using MoveIterator = typename std::move_iterator<Iterator<A>>; + template <typename Iterator> using IsAtLeastForwardIterator = std::is_convertible< typename std::iterator_traits<Iterator>::iterator_category, std::forward_iterator_tag>; -template <typename AllocatorType, - typename ValueType = - typename absl::allocator_traits<AllocatorType>::value_type> +template <typename A> using IsMemcpyOk = - absl::conjunction<std::is_same<AllocatorType, std::allocator<ValueType>>, - absl::is_trivially_copy_constructible<ValueType>, - absl::is_trivially_copy_assignable<ValueType>, - absl::is_trivially_destructible<ValueType>>; + absl::conjunction<std::is_same<A, std::allocator<ValueType<A>>>, + absl::is_trivially_copy_constructible<ValueType<A>>, + absl::is_trivially_copy_assignable<ValueType<A>>, + absl::is_trivially_destructible<ValueType<A>>>; + +template <typename T> +struct TypeIdentity { + using type = T; +}; -template <typename AllocatorType, typename Pointer, typename SizeType> -void DestroyElements(AllocatorType* alloc_ptr, Pointer destroy_first, - SizeType destroy_size) { - using AllocatorTraits = absl::allocator_traits<AllocatorType>; +// Used for function arguments in template functions to prevent ADL by forcing +// callers to explicitly specify the template parameter. +template <typename T> +using NoTypeDeduction = typename TypeIdentity<T>::type; +template <typename A> +void DestroyElements(NoTypeDeduction<A>& allocator, Pointer<A> destroy_first, + SizeType<A> destroy_size) { if (destroy_first != nullptr) { for (auto i = destroy_size; i != 0;) { --i; - AllocatorTraits::destroy(*alloc_ptr, destroy_first + i); + AllocatorTraits<A>::destroy(allocator, destroy_first + i); } - -#if !defined(NDEBUG) - { - using ValueType = typename AllocatorTraits::value_type; - - // Overwrite unused memory with `0xab` so we can catch uninitialized - // usage. - // - // Cast to `void*` to tell the compiler that we don't care that we might - // be scribbling on a vtable pointer. - void* memory_ptr = destroy_first; - auto memory_size = destroy_size * sizeof(ValueType); - std::memset(memory_ptr, 0xab, memory_size); - } -#endif // !defined(NDEBUG) } } @@ -99,54 +119,45 @@ inline void MemcpyIfAllowed<true>(void* dst, const void* src, size_t n) { template <> inline void MemcpyIfAllowed<false>(void*, const void*, size_t) {} -template <typename AllocatorType, typename Pointer, typename ValueAdapter, - typename SizeType> -void ConstructElements(AllocatorType* alloc_ptr, Pointer construct_first, - ValueAdapter* values_ptr, SizeType construct_size) { - for (SizeType i = 0; i < construct_size; ++i) { - ABSL_INTERNAL_TRY { - values_ptr->ConstructNext(alloc_ptr, construct_first + i); - } +template <typename A, typename ValueAdapter> +void ConstructElements(NoTypeDeduction<A>& allocator, + Pointer<A> construct_first, ValueAdapter& values, + SizeType<A> construct_size) { + for (SizeType<A> i = 0; i < construct_size; ++i) { + ABSL_INTERNAL_TRY { values.ConstructNext(allocator, construct_first + i); } ABSL_INTERNAL_CATCH_ANY { - inlined_vector_internal::DestroyElements(alloc_ptr, construct_first, i); + DestroyElements<A>(allocator, construct_first, i); ABSL_INTERNAL_RETHROW; } } } -template <typename Pointer, typename ValueAdapter, typename SizeType> -void AssignElements(Pointer assign_first, ValueAdapter* values_ptr, - SizeType assign_size) { - for (SizeType i = 0; i < assign_size; ++i) { - values_ptr->AssignNext(assign_first + i); +template <typename A, typename ValueAdapter> +void AssignElements(Pointer<A> assign_first, ValueAdapter& values, + SizeType<A> assign_size) { + for (SizeType<A> i = 0; i < assign_size; ++i) { + values.AssignNext(assign_first + i); } } -template <typename AllocatorType> +template <typename A> struct StorageView { - using AllocatorTraits = absl::allocator_traits<AllocatorType>; - using Pointer = typename AllocatorTraits::pointer; - using SizeType = typename AllocatorTraits::size_type; - - Pointer data; - SizeType size; - SizeType capacity; + Pointer<A> data; + SizeType<A> size; + SizeType<A> capacity; }; -template <typename AllocatorType, typename Iterator> +template <typename A, typename Iterator> class IteratorValueAdapter { - using AllocatorTraits = absl::allocator_traits<AllocatorType>; - using Pointer = typename AllocatorTraits::pointer; - public: explicit IteratorValueAdapter(const Iterator& it) : it_(it) {} - void ConstructNext(AllocatorType* alloc_ptr, Pointer construct_at) { - AllocatorTraits::construct(*alloc_ptr, construct_at, *it_); + void ConstructNext(A& allocator, Pointer<A> construct_at) { + AllocatorTraits<A>::construct(allocator, construct_at, *it_); ++it_; } - void AssignNext(Pointer assign_at) { + void AssignNext(Pointer<A> assign_at) { *assign_at = *it_; ++it_; } @@ -155,68 +166,55 @@ class IteratorValueAdapter { Iterator it_; }; -template <typename AllocatorType> +template <typename A> class CopyValueAdapter { - using AllocatorTraits = absl::allocator_traits<AllocatorType>; - using ValueType = typename AllocatorTraits::value_type; - using Pointer = typename AllocatorTraits::pointer; - using ConstPointer = typename AllocatorTraits::const_pointer; - public: - explicit CopyValueAdapter(const ValueType& v) : ptr_(std::addressof(v)) {} + explicit CopyValueAdapter(ConstPointer<A> p) : ptr_(p) {} - void ConstructNext(AllocatorType* alloc_ptr, Pointer construct_at) { - AllocatorTraits::construct(*alloc_ptr, construct_at, *ptr_); + void ConstructNext(A& allocator, Pointer<A> construct_at) { + AllocatorTraits<A>::construct(allocator, construct_at, *ptr_); } - void AssignNext(Pointer assign_at) { *assign_at = *ptr_; } + void AssignNext(Pointer<A> assign_at) { *assign_at = *ptr_; } private: - ConstPointer ptr_; + ConstPointer<A> ptr_; }; -template <typename AllocatorType> +template <typename A> class DefaultValueAdapter { - using AllocatorTraits = absl::allocator_traits<AllocatorType>; - using ValueType = typename AllocatorTraits::value_type; - using Pointer = typename AllocatorTraits::pointer; - public: explicit DefaultValueAdapter() {} - void ConstructNext(AllocatorType* alloc_ptr, Pointer construct_at) { - AllocatorTraits::construct(*alloc_ptr, construct_at); + void ConstructNext(A& allocator, Pointer<A> construct_at) { + AllocatorTraits<A>::construct(allocator, construct_at); } - void AssignNext(Pointer assign_at) { *assign_at = ValueType(); } + void AssignNext(Pointer<A> assign_at) { *assign_at = ValueType<A>(); } }; -template <typename AllocatorType> +template <typename A> class AllocationTransaction { - using AllocatorTraits = absl::allocator_traits<AllocatorType>; - using Pointer = typename AllocatorTraits::pointer; - using SizeType = typename AllocatorTraits::size_type; - public: - explicit AllocationTransaction(AllocatorType* alloc_ptr) - : alloc_data_(*alloc_ptr, nullptr) {} + explicit AllocationTransaction(A& allocator) + : allocator_data_(allocator, nullptr), capacity_(0) {} ~AllocationTransaction() { if (DidAllocate()) { - AllocatorTraits::deallocate(GetAllocator(), GetData(), GetCapacity()); + AllocatorTraits<A>::deallocate(GetAllocator(), GetData(), GetCapacity()); } } AllocationTransaction(const AllocationTransaction&) = delete; void operator=(const AllocationTransaction&) = delete; - AllocatorType& GetAllocator() { return alloc_data_.template get<0>(); } - Pointer& GetData() { return alloc_data_.template get<1>(); } - SizeType& GetCapacity() { return capacity_; } + A& GetAllocator() { return allocator_data_.template get<0>(); } + Pointer<A>& GetData() { return allocator_data_.template get<1>(); } + SizeType<A>& GetCapacity() { return capacity_; } bool DidAllocate() { return GetData() != nullptr; } - Pointer Allocate(SizeType capacity) { - GetData() = AllocatorTraits::allocate(GetAllocator(), capacity); + Pointer<A> Allocate(SizeType<A> capacity) { + GetData() = AllocatorTraits<A>::allocate(GetAllocator(), capacity); GetCapacity() = capacity; return GetData(); } @@ -227,39 +225,33 @@ class AllocationTransaction { } private: - container_internal::CompressedTuple<AllocatorType, Pointer> alloc_data_; - SizeType capacity_ = 0; + container_internal::CompressedTuple<A, Pointer<A>> allocator_data_; + SizeType<A> capacity_; }; -template <typename AllocatorType> +template <typename A> class ConstructionTransaction { - using AllocatorTraits = absl::allocator_traits<AllocatorType>; - using Pointer = typename AllocatorTraits::pointer; - using SizeType = typename AllocatorTraits::size_type; - public: - explicit ConstructionTransaction(AllocatorType* alloc_ptr) - : alloc_data_(*alloc_ptr, nullptr) {} + explicit ConstructionTransaction(A& allocator) + : allocator_data_(allocator, nullptr), size_(0) {} ~ConstructionTransaction() { if (DidConstruct()) { - inlined_vector_internal::DestroyElements(std::addressof(GetAllocator()), - GetData(), GetSize()); + DestroyElements<A>(GetAllocator(), GetData(), GetSize()); } } ConstructionTransaction(const ConstructionTransaction&) = delete; void operator=(const ConstructionTransaction&) = delete; - AllocatorType& GetAllocator() { return alloc_data_.template get<0>(); } - Pointer& GetData() { return alloc_data_.template get<1>(); } - SizeType& GetSize() { return size_; } + A& GetAllocator() { return allocator_data_.template get<0>(); } + Pointer<A>& GetData() { return allocator_data_.template get<1>(); } + SizeType<A>& GetSize() { return size_; } bool DidConstruct() { return GetData() != nullptr; } template <typename ValueAdapter> - void Construct(Pointer data, ValueAdapter* values_ptr, SizeType size) { - inlined_vector_internal::ConstructElements(std::addressof(GetAllocator()), - data, values_ptr, size); + void Construct(Pointer<A> data, ValueAdapter& values, SizeType<A> size) { + ConstructElements<A>(GetAllocator(), data, values, size); GetData() = data; GetSize() = size; } @@ -269,52 +261,19 @@ class ConstructionTransaction { } private: - container_internal::CompressedTuple<AllocatorType, Pointer> alloc_data_; - SizeType size_ = 0; + container_internal::CompressedTuple<A, Pointer<A>> allocator_data_; + SizeType<A> size_; }; template <typename T, size_t N, typename A> class Storage { public: - using AllocatorTraits = absl::allocator_traits<A>; - using allocator_type = typename AllocatorTraits::allocator_type; - using value_type = typename AllocatorTraits::value_type; - using pointer = typename AllocatorTraits::pointer; - using const_pointer = typename AllocatorTraits::const_pointer; - using size_type = typename AllocatorTraits::size_type; - using difference_type = typename AllocatorTraits::difference_type; - - using reference = value_type&; - using const_reference = const value_type&; - using RValueReference = value_type&&; - using iterator = pointer; - using const_iterator = const_pointer; - using reverse_iterator = std::reverse_iterator<iterator>; - using const_reverse_iterator = std::reverse_iterator<const_iterator>; - using MoveIterator = std::move_iterator<iterator>; - using IsMemcpyOk = inlined_vector_internal::IsMemcpyOk<allocator_type>; - - using StorageView = inlined_vector_internal::StorageView<allocator_type>; - - template <typename Iterator> - using IteratorValueAdapter = - inlined_vector_internal::IteratorValueAdapter<allocator_type, Iterator>; - using CopyValueAdapter = - inlined_vector_internal::CopyValueAdapter<allocator_type>; - using DefaultValueAdapter = - inlined_vector_internal::DefaultValueAdapter<allocator_type>; - - using AllocationTransaction = - inlined_vector_internal::AllocationTransaction<allocator_type>; - using ConstructionTransaction = - inlined_vector_internal::ConstructionTransaction<allocator_type>; - - static size_type NextCapacity(size_type current_capacity) { + static SizeType<A> NextCapacity(SizeType<A> current_capacity) { return current_capacity * 2; } - static size_type ComputeCapacity(size_type current_capacity, - size_type requested_capacity) { + static SizeType<A> ComputeCapacity(SizeType<A> current_capacity, + SizeType<A> requested_capacity) { return (std::max)(NextCapacity(current_capacity), requested_capacity); } @@ -322,15 +281,15 @@ class Storage { // Storage Constructors and Destructor // --------------------------------------------------------------------------- - Storage() : metadata_(allocator_type(), /* size and is_allocated */ 0) {} + Storage() : metadata_(A(), /* size and is_allocated */ 0) {} - explicit Storage(const allocator_type& alloc) - : metadata_(alloc, /* size and is_allocated */ 0) {} + explicit Storage(const A& allocator) + : metadata_(allocator, /* size and is_allocated */ 0) {} ~Storage() { if (GetSizeAndIsAllocated() == 0) { // Empty and not allocated; nothing to do. - } else if (IsMemcpyOk::value) { + } else if (IsMemcpyOk<A>::value) { // No destructors need to be run; just deallocate if necessary. DeallocateIfAllocated(); } else { @@ -342,52 +301,48 @@ class Storage { // Storage Member Accessors // --------------------------------------------------------------------------- - size_type& GetSizeAndIsAllocated() { return metadata_.template get<1>(); } + SizeType<A>& GetSizeAndIsAllocated() { return metadata_.template get<1>(); } - const size_type& GetSizeAndIsAllocated() const { + const SizeType<A>& GetSizeAndIsAllocated() const { return metadata_.template get<1>(); } - size_type GetSize() const { return GetSizeAndIsAllocated() >> 1; } + SizeType<A> GetSize() const { return GetSizeAndIsAllocated() >> 1; } bool GetIsAllocated() const { return GetSizeAndIsAllocated() & 1; } - pointer GetAllocatedData() { return data_.allocated.allocated_data; } + Pointer<A> GetAllocatedData() { return data_.allocated.allocated_data; } - const_pointer GetAllocatedData() const { + ConstPointer<A> GetAllocatedData() const { return data_.allocated.allocated_data; } - pointer GetInlinedData() { - return reinterpret_cast<pointer>( + Pointer<A> GetInlinedData() { + return reinterpret_cast<Pointer<A>>( std::addressof(data_.inlined.inlined_data[0])); } - const_pointer GetInlinedData() const { - return reinterpret_cast<const_pointer>( + ConstPointer<A> GetInlinedData() const { + return reinterpret_cast<ConstPointer<A>>( std::addressof(data_.inlined.inlined_data[0])); } - size_type GetAllocatedCapacity() const { + SizeType<A> GetAllocatedCapacity() const { return data_.allocated.allocated_capacity; } - size_type GetInlinedCapacity() const { return static_cast<size_type>(N); } + SizeType<A> GetInlinedCapacity() const { return static_cast<SizeType<A>>(N); } - StorageView MakeStorageView() { - return GetIsAllocated() - ? StorageView{GetAllocatedData(), GetSize(), - GetAllocatedCapacity()} - : StorageView{GetInlinedData(), GetSize(), GetInlinedCapacity()}; + StorageView<A> MakeStorageView() { + return GetIsAllocated() ? StorageView<A>{GetAllocatedData(), GetSize(), + GetAllocatedCapacity()} + : StorageView<A>{GetInlinedData(), GetSize(), + GetInlinedCapacity()}; } - allocator_type* GetAllocPtr() { - return std::addressof(metadata_.template get<0>()); - } + A& GetAllocator() { return metadata_.template get<0>(); } - const allocator_type* GetAllocPtr() const { - return std::addressof(metadata_.template get<0>()); - } + const A& GetAllocator() const { return metadata_.template get<0>(); } // --------------------------------------------------------------------------- // Storage Member Mutators @@ -396,74 +351,73 @@ class Storage { ABSL_ATTRIBUTE_NOINLINE void InitFrom(const Storage& other); template <typename ValueAdapter> - void Initialize(ValueAdapter values, size_type new_size); + void Initialize(ValueAdapter values, SizeType<A> new_size); template <typename ValueAdapter> - void Assign(ValueAdapter values, size_type new_size); + void Assign(ValueAdapter values, SizeType<A> new_size); template <typename ValueAdapter> - void Resize(ValueAdapter values, size_type new_size); + void Resize(ValueAdapter values, SizeType<A> new_size); template <typename ValueAdapter> - iterator Insert(const_iterator pos, ValueAdapter values, - size_type insert_count); + Iterator<A> Insert(ConstIterator<A> pos, ValueAdapter values, + SizeType<A> insert_count); template <typename... Args> - reference EmplaceBack(Args&&... args); + Reference<A> EmplaceBack(Args&&... args); - iterator Erase(const_iterator from, const_iterator to); + Iterator<A> Erase(ConstIterator<A> from, ConstIterator<A> to); - void Reserve(size_type requested_capacity); + void Reserve(SizeType<A> requested_capacity); void ShrinkToFit(); void Swap(Storage* other_storage_ptr); void SetIsAllocated() { - GetSizeAndIsAllocated() |= static_cast<size_type>(1); + GetSizeAndIsAllocated() |= static_cast<SizeType<A>>(1); } void UnsetIsAllocated() { - GetSizeAndIsAllocated() &= ((std::numeric_limits<size_type>::max)() - 1); + GetSizeAndIsAllocated() &= ((std::numeric_limits<SizeType<A>>::max)() - 1); } - void SetSize(size_type size) { + void SetSize(SizeType<A> size) { GetSizeAndIsAllocated() = - (size << 1) | static_cast<size_type>(GetIsAllocated()); + (size << 1) | static_cast<SizeType<A>>(GetIsAllocated()); } - void SetAllocatedSize(size_type size) { - GetSizeAndIsAllocated() = (size << 1) | static_cast<size_type>(1); + void SetAllocatedSize(SizeType<A> size) { + GetSizeAndIsAllocated() = (size << 1) | static_cast<SizeType<A>>(1); } - void SetInlinedSize(size_type size) { - GetSizeAndIsAllocated() = size << static_cast<size_type>(1); + void SetInlinedSize(SizeType<A> size) { + GetSizeAndIsAllocated() = size << static_cast<SizeType<A>>(1); } - void AddSize(size_type count) { - GetSizeAndIsAllocated() += count << static_cast<size_type>(1); + void AddSize(SizeType<A> count) { + GetSizeAndIsAllocated() += count << static_cast<SizeType<A>>(1); } - void SubtractSize(size_type count) { + void SubtractSize(SizeType<A> count) { assert(count <= GetSize()); - GetSizeAndIsAllocated() -= count << static_cast<size_type>(1); + GetSizeAndIsAllocated() -= count << static_cast<SizeType<A>>(1); } - void SetAllocatedData(pointer data, size_type capacity) { + void SetAllocatedData(Pointer<A> data, SizeType<A> capacity) { data_.allocated.allocated_data = data; data_.allocated.allocated_capacity = capacity; } - void AcquireAllocatedData(AllocationTransaction* allocation_tx_ptr) { - SetAllocatedData(allocation_tx_ptr->GetData(), - allocation_tx_ptr->GetCapacity()); + void AcquireAllocatedData(AllocationTransaction<A>& allocation_tx) { + SetAllocatedData(allocation_tx.GetData(), allocation_tx.GetCapacity()); - allocation_tx_ptr->Reset(); + allocation_tx.Reset(); } void MemcpyFrom(const Storage& other_storage) { - assert(IsMemcpyOk::value || other_storage.GetIsAllocated()); + assert(IsMemcpyOk<A>::value || other_storage.GetIsAllocated()); GetSizeAndIsAllocated() = other_storage.GetSizeAndIsAllocated(); data_ = other_storage.data_; @@ -471,24 +425,23 @@ class Storage { void DeallocateIfAllocated() { if (GetIsAllocated()) { - AllocatorTraits::deallocate(*GetAllocPtr(), GetAllocatedData(), - GetAllocatedCapacity()); + AllocatorTraits<A>::deallocate(GetAllocator(), GetAllocatedData(), + GetAllocatedCapacity()); } } private: ABSL_ATTRIBUTE_NOINLINE void DestroyContents(); - using Metadata = - container_internal::CompressedTuple<allocator_type, size_type>; + using Metadata = container_internal::CompressedTuple<A, SizeType<A>>; struct Allocated { - pointer allocated_data; - size_type allocated_capacity; + Pointer<A> allocated_data; + SizeType<A> allocated_capacity; }; struct Inlined { - alignas(value_type) char inlined_data[sizeof(value_type[N])]; + alignas(ValueType<A>) char inlined_data[sizeof(ValueType<A>[N])]; }; union Data { @@ -497,7 +450,7 @@ class Storage { }; template <typename... Args> - ABSL_ATTRIBUTE_NOINLINE reference EmplaceBackSlow(Args&&... args); + ABSL_ATTRIBUTE_NOINLINE Reference<A> EmplaceBackSlow(Args&&... args); Metadata metadata_; Data data_; @@ -505,8 +458,8 @@ class Storage { template <typename T, size_t N, typename A> void Storage<T, N, A>::DestroyContents() { - pointer data = GetIsAllocated() ? GetAllocatedData() : GetInlinedData(); - inlined_vector_internal::DestroyElements(GetAllocPtr(), data, GetSize()); + Pointer<A> data = GetIsAllocated() ? GetAllocatedData() : GetInlinedData(); + DestroyElements<A>(GetAllocator(), data, GetSize()); DeallocateIfAllocated(); } @@ -514,8 +467,8 @@ template <typename T, size_t N, typename A> void Storage<T, N, A>::InitFrom(const Storage& other) { const auto n = other.GetSize(); assert(n > 0); // Empty sources handled handled in caller. - const_pointer src; - pointer dst; + ConstPointer<A> src; + Pointer<A> dst; if (!other.GetIsAllocated()) { dst = GetInlinedData(); src = other.GetInlinedData(); @@ -523,43 +476,42 @@ void Storage<T, N, A>::InitFrom(const Storage& other) { // Because this is only called from the `InlinedVector` constructors, it's // safe to take on the allocation with size `0`. If `ConstructElements(...)` // throws, deallocation will be automatically handled by `~Storage()`. - size_type new_capacity = ComputeCapacity(GetInlinedCapacity(), n); - dst = AllocatorTraits::allocate(*GetAllocPtr(), new_capacity); + SizeType<A> new_capacity = ComputeCapacity(GetInlinedCapacity(), n); + dst = AllocatorTraits<A>::allocate(GetAllocator(), new_capacity); SetAllocatedData(dst, new_capacity); src = other.GetAllocatedData(); } - if (IsMemcpyOk::value) { - MemcpyIfAllowed<IsMemcpyOk::value>(dst, src, sizeof(dst[0]) * n); + if (IsMemcpyOk<A>::value) { + MemcpyIfAllowed<IsMemcpyOk<A>::value>(dst, src, sizeof(dst[0]) * n); } else { - auto values = IteratorValueAdapter<const_pointer>(src); - inlined_vector_internal::ConstructElements(GetAllocPtr(), dst, &values, n); + auto values = IteratorValueAdapter<A, ConstPointer<A>>(src); + ConstructElements<A>(GetAllocator(), dst, values, n); } GetSizeAndIsAllocated() = other.GetSizeAndIsAllocated(); } template <typename T, size_t N, typename A> template <typename ValueAdapter> -auto Storage<T, N, A>::Initialize(ValueAdapter values, size_type new_size) +auto Storage<T, N, A>::Initialize(ValueAdapter values, SizeType<A> new_size) -> void { // Only callable from constructors! assert(!GetIsAllocated()); assert(GetSize() == 0); - pointer construct_data; + Pointer<A> construct_data; if (new_size > GetInlinedCapacity()) { // Because this is only called from the `InlinedVector` constructors, it's // safe to take on the allocation with size `0`. If `ConstructElements(...)` // throws, deallocation will be automatically handled by `~Storage()`. - size_type new_capacity = ComputeCapacity(GetInlinedCapacity(), new_size); - construct_data = AllocatorTraits::allocate(*GetAllocPtr(), new_capacity); + SizeType<A> new_capacity = ComputeCapacity(GetInlinedCapacity(), new_size); + construct_data = AllocatorTraits<A>::allocate(GetAllocator(), new_capacity); SetAllocatedData(construct_data, new_capacity); SetIsAllocated(); } else { construct_data = GetInlinedData(); } - inlined_vector_internal::ConstructElements(GetAllocPtr(), construct_data, - &values, new_size); + ConstructElements<A>(GetAllocator(), construct_data, values, new_size); // Since the initial size was guaranteed to be `0` and the allocated bit is // already correct for either case, *adding* `new_size` gives us the correct @@ -569,17 +521,18 @@ auto Storage<T, N, A>::Initialize(ValueAdapter values, size_type new_size) template <typename T, size_t N, typename A> template <typename ValueAdapter> -auto Storage<T, N, A>::Assign(ValueAdapter values, size_type new_size) -> void { - StorageView storage_view = MakeStorageView(); +auto Storage<T, N, A>::Assign(ValueAdapter values, SizeType<A> new_size) + -> void { + StorageView<A> storage_view = MakeStorageView(); - AllocationTransaction allocation_tx(GetAllocPtr()); + AllocationTransaction<A> allocation_tx(GetAllocator()); - absl::Span<value_type> assign_loop; - absl::Span<value_type> construct_loop; - absl::Span<value_type> destroy_loop; + absl::Span<ValueType<A>> assign_loop; + absl::Span<ValueType<A>> construct_loop; + absl::Span<ValueType<A>> destroy_loop; if (new_size > storage_view.capacity) { - size_type new_capacity = ComputeCapacity(storage_view.capacity, new_size); + SizeType<A> new_capacity = ComputeCapacity(storage_view.capacity, new_size); construct_loop = {allocation_tx.Allocate(new_capacity), new_size}; destroy_loop = {storage_view.data, storage_view.size}; } else if (new_size > storage_view.size) { @@ -591,18 +544,16 @@ auto Storage<T, N, A>::Assign(ValueAdapter values, size_type new_size) -> void { destroy_loop = {storage_view.data + new_size, storage_view.size - new_size}; } - inlined_vector_internal::AssignElements(assign_loop.data(), &values, - assign_loop.size()); + AssignElements<A>(assign_loop.data(), values, assign_loop.size()); - inlined_vector_internal::ConstructElements( - GetAllocPtr(), construct_loop.data(), &values, construct_loop.size()); + ConstructElements<A>(GetAllocator(), construct_loop.data(), values, + construct_loop.size()); - inlined_vector_internal::DestroyElements(GetAllocPtr(), destroy_loop.data(), - destroy_loop.size()); + DestroyElements<A>(GetAllocator(), destroy_loop.data(), destroy_loop.size()); if (allocation_tx.DidAllocate()) { DeallocateIfAllocated(); - AcquireAllocatedData(&allocation_tx); + AcquireAllocatedData(allocation_tx); SetIsAllocated(); } @@ -611,19 +562,18 @@ auto Storage<T, N, A>::Assign(ValueAdapter values, size_type new_size) -> void { template <typename T, size_t N, typename A> template <typename ValueAdapter> -auto Storage<T, N, A>::Resize(ValueAdapter values, size_type new_size) -> void { - StorageView storage_view = MakeStorageView(); +auto Storage<T, N, A>::Resize(ValueAdapter values, SizeType<A> new_size) + -> void { + StorageView<A> storage_view = MakeStorageView(); auto* const base = storage_view.data; - const size_type size = storage_view.size; - auto* alloc = GetAllocPtr(); + const SizeType<A> size = storage_view.size; + auto& alloc = GetAllocator(); if (new_size <= size) { // Destroy extra old elements. - inlined_vector_internal::DestroyElements(alloc, base + new_size, - size - new_size); + DestroyElements<A>(alloc, base + new_size, size - new_size); } else if (new_size <= storage_view.capacity) { // Construct new elements in place. - inlined_vector_internal::ConstructElements(alloc, base + size, &values, - new_size - size); + ConstructElements<A>(alloc, base + size, values, new_size - size); } else { // Steps: // a. Allocate new backing store. @@ -632,21 +582,21 @@ auto Storage<T, N, A>::Resize(ValueAdapter values, size_type new_size) -> void { // d. Destroy all elements in old backing store. // Use transactional wrappers for the first two steps so we can roll // back if necessary due to exceptions. - AllocationTransaction allocation_tx(alloc); - size_type new_capacity = ComputeCapacity(storage_view.capacity, new_size); - pointer new_data = allocation_tx.Allocate(new_capacity); + AllocationTransaction<A> allocation_tx(alloc); + SizeType<A> new_capacity = ComputeCapacity(storage_view.capacity, new_size); + Pointer<A> new_data = allocation_tx.Allocate(new_capacity); - ConstructionTransaction construction_tx(alloc); - construction_tx.Construct(new_data + size, &values, new_size - size); + ConstructionTransaction<A> construction_tx(alloc); + construction_tx.Construct(new_data + size, values, new_size - size); - IteratorValueAdapter<MoveIterator> move_values((MoveIterator(base))); - inlined_vector_internal::ConstructElements(alloc, new_data, &move_values, - size); + IteratorValueAdapter<A, MoveIterator<A>> move_values( + (MoveIterator<A>(base))); + ConstructElements<A>(alloc, new_data, move_values, size); - inlined_vector_internal::DestroyElements(alloc, base, size); + DestroyElements<A>(alloc, base, size); construction_tx.Commit(); DeallocateIfAllocated(); - AcquireAllocatedData(&allocation_tx); + AcquireAllocatedData(allocation_tx); SetIsAllocated(); } SetSize(new_size); @@ -654,76 +604,75 @@ auto Storage<T, N, A>::Resize(ValueAdapter values, size_type new_size) -> void { template <typename T, size_t N, typename A> template <typename ValueAdapter> -auto Storage<T, N, A>::Insert(const_iterator pos, ValueAdapter values, - size_type insert_count) -> iterator { - StorageView storage_view = MakeStorageView(); +auto Storage<T, N, A>::Insert(ConstIterator<A> pos, ValueAdapter values, + SizeType<A> insert_count) -> Iterator<A> { + StorageView<A> storage_view = MakeStorageView(); - size_type insert_index = - std::distance(const_iterator(storage_view.data), pos); - size_type insert_end_index = insert_index + insert_count; - size_type new_size = storage_view.size + insert_count; + SizeType<A> insert_index = + std::distance(ConstIterator<A>(storage_view.data), pos); + SizeType<A> insert_end_index = insert_index + insert_count; + SizeType<A> new_size = storage_view.size + insert_count; if (new_size > storage_view.capacity) { - AllocationTransaction allocation_tx(GetAllocPtr()); - ConstructionTransaction construction_tx(GetAllocPtr()); - ConstructionTransaction move_construciton_tx(GetAllocPtr()); + AllocationTransaction<A> allocation_tx(GetAllocator()); + ConstructionTransaction<A> construction_tx(GetAllocator()); + ConstructionTransaction<A> move_construction_tx(GetAllocator()); - IteratorValueAdapter<MoveIterator> move_values( - MoveIterator(storage_view.data)); + IteratorValueAdapter<A, MoveIterator<A>> move_values( + MoveIterator<A>(storage_view.data)); - size_type new_capacity = ComputeCapacity(storage_view.capacity, new_size); - pointer new_data = allocation_tx.Allocate(new_capacity); + SizeType<A> new_capacity = ComputeCapacity(storage_view.capacity, new_size); + Pointer<A> new_data = allocation_tx.Allocate(new_capacity); - construction_tx.Construct(new_data + insert_index, &values, insert_count); + construction_tx.Construct(new_data + insert_index, values, insert_count); - move_construciton_tx.Construct(new_data, &move_values, insert_index); + move_construction_tx.Construct(new_data, move_values, insert_index); - inlined_vector_internal::ConstructElements( - GetAllocPtr(), new_data + insert_end_index, &move_values, - storage_view.size - insert_index); + ConstructElements<A>(GetAllocator(), new_data + insert_end_index, + move_values, storage_view.size - insert_index); - inlined_vector_internal::DestroyElements(GetAllocPtr(), storage_view.data, - storage_view.size); + DestroyElements<A>(GetAllocator(), storage_view.data, storage_view.size); construction_tx.Commit(); - move_construciton_tx.Commit(); + move_construction_tx.Commit(); DeallocateIfAllocated(); - AcquireAllocatedData(&allocation_tx); + AcquireAllocatedData(allocation_tx); SetAllocatedSize(new_size); - return iterator(new_data + insert_index); + return Iterator<A>(new_data + insert_index); } else { - size_type move_construction_destination_index = + SizeType<A> move_construction_destination_index = (std::max)(insert_end_index, storage_view.size); - ConstructionTransaction move_construction_tx(GetAllocPtr()); + ConstructionTransaction<A> move_construction_tx(GetAllocator()); - IteratorValueAdapter<MoveIterator> move_construction_values( - MoveIterator(storage_view.data + - (move_construction_destination_index - insert_count))); - absl::Span<value_type> move_construction = { + IteratorValueAdapter<A, MoveIterator<A>> move_construction_values( + MoveIterator<A>(storage_view.data + + (move_construction_destination_index - insert_count))); + absl::Span<ValueType<A>> move_construction = { storage_view.data + move_construction_destination_index, new_size - move_construction_destination_index}; - pointer move_assignment_values = storage_view.data + insert_index; - absl::Span<value_type> move_assignment = { + Pointer<A> move_assignment_values = storage_view.data + insert_index; + absl::Span<ValueType<A>> move_assignment = { storage_view.data + insert_end_index, move_construction_destination_index - insert_end_index}; - absl::Span<value_type> insert_assignment = {move_assignment_values, - move_construction.size()}; + absl::Span<ValueType<A>> insert_assignment = {move_assignment_values, + move_construction.size()}; - absl::Span<value_type> insert_construction = { + absl::Span<ValueType<A>> insert_construction = { insert_assignment.data() + insert_assignment.size(), insert_count - insert_assignment.size()}; move_construction_tx.Construct(move_construction.data(), - &move_construction_values, + move_construction_values, move_construction.size()); - for (pointer destination = move_assignment.data() + move_assignment.size(), - last_destination = move_assignment.data(), - source = move_assignment_values + move_assignment.size(); + for (Pointer<A> + destination = move_assignment.data() + move_assignment.size(), + last_destination = move_assignment.data(), + source = move_assignment_values + move_assignment.size(); ;) { --destination; --source; @@ -731,30 +680,29 @@ auto Storage<T, N, A>::Insert(const_iterator pos, ValueAdapter values, *destination = std::move(*source); } - inlined_vector_internal::AssignElements(insert_assignment.data(), &values, - insert_assignment.size()); + AssignElements<A>(insert_assignment.data(), values, + insert_assignment.size()); - inlined_vector_internal::ConstructElements( - GetAllocPtr(), insert_construction.data(), &values, - insert_construction.size()); + ConstructElements<A>(GetAllocator(), insert_construction.data(), values, + insert_construction.size()); move_construction_tx.Commit(); AddSize(insert_count); - return iterator(storage_view.data + insert_index); + return Iterator<A>(storage_view.data + insert_index); } } template <typename T, size_t N, typename A> template <typename... Args> -auto Storage<T, N, A>::EmplaceBack(Args&&... args) -> reference { - StorageView storage_view = MakeStorageView(); +auto Storage<T, N, A>::EmplaceBack(Args&&... args) -> Reference<A> { + StorageView<A> storage_view = MakeStorageView(); const auto n = storage_view.size; if (ABSL_PREDICT_TRUE(n != storage_view.capacity)) { // Fast path; new element fits. - pointer last_ptr = storage_view.data + n; - AllocatorTraits::construct(*GetAllocPtr(), last_ptr, - std::forward<Args>(args)...); + Pointer<A> last_ptr = storage_view.data + n; + AllocatorTraits<A>::construct(GetAllocator(), last_ptr, + std::forward<Args>(args)...); AddSize(1); return *last_ptr; } @@ -764,87 +712,83 @@ auto Storage<T, N, A>::EmplaceBack(Args&&... args) -> reference { template <typename T, size_t N, typename A> template <typename... Args> -auto Storage<T, N, A>::EmplaceBackSlow(Args&&... args) -> reference { - StorageView storage_view = MakeStorageView(); - AllocationTransaction allocation_tx(GetAllocPtr()); - IteratorValueAdapter<MoveIterator> move_values( - MoveIterator(storage_view.data)); - size_type new_capacity = NextCapacity(storage_view.capacity); - pointer construct_data = allocation_tx.Allocate(new_capacity); - pointer last_ptr = construct_data + storage_view.size; +auto Storage<T, N, A>::EmplaceBackSlow(Args&&... args) -> Reference<A> { + StorageView<A> storage_view = MakeStorageView(); + AllocationTransaction<A> allocation_tx(GetAllocator()); + IteratorValueAdapter<A, MoveIterator<A>> move_values( + MoveIterator<A>(storage_view.data)); + SizeType<A> new_capacity = NextCapacity(storage_view.capacity); + Pointer<A> construct_data = allocation_tx.Allocate(new_capacity); + Pointer<A> last_ptr = construct_data + storage_view.size; // Construct new element. - AllocatorTraits::construct(*GetAllocPtr(), last_ptr, - std::forward<Args>(args)...); + AllocatorTraits<A>::construct(GetAllocator(), last_ptr, + std::forward<Args>(args)...); // Move elements from old backing store to new backing store. ABSL_INTERNAL_TRY { - inlined_vector_internal::ConstructElements( - GetAllocPtr(), allocation_tx.GetData(), &move_values, - storage_view.size); + ConstructElements<A>(GetAllocator(), allocation_tx.GetData(), move_values, + storage_view.size); } ABSL_INTERNAL_CATCH_ANY { - AllocatorTraits::destroy(*GetAllocPtr(), last_ptr); + AllocatorTraits<A>::destroy(GetAllocator(), last_ptr); ABSL_INTERNAL_RETHROW; } // Destroy elements in old backing store. - inlined_vector_internal::DestroyElements(GetAllocPtr(), storage_view.data, - storage_view.size); + DestroyElements<A>(GetAllocator(), storage_view.data, storage_view.size); DeallocateIfAllocated(); - AcquireAllocatedData(&allocation_tx); + AcquireAllocatedData(allocation_tx); SetIsAllocated(); AddSize(1); return *last_ptr; } template <typename T, size_t N, typename A> -auto Storage<T, N, A>::Erase(const_iterator from, const_iterator to) - -> iterator { - StorageView storage_view = MakeStorageView(); +auto Storage<T, N, A>::Erase(ConstIterator<A> from, ConstIterator<A> to) + -> Iterator<A> { + StorageView<A> storage_view = MakeStorageView(); - size_type erase_size = std::distance(from, to); - size_type erase_index = - std::distance(const_iterator(storage_view.data), from); - size_type erase_end_index = erase_index + erase_size; + SizeType<A> erase_size = std::distance(from, to); + SizeType<A> erase_index = + std::distance(ConstIterator<A>(storage_view.data), from); + SizeType<A> erase_end_index = erase_index + erase_size; - IteratorValueAdapter<MoveIterator> move_values( - MoveIterator(storage_view.data + erase_end_index)); + IteratorValueAdapter<A, MoveIterator<A>> move_values( + MoveIterator<A>(storage_view.data + erase_end_index)); - inlined_vector_internal::AssignElements(storage_view.data + erase_index, - &move_values, - storage_view.size - erase_end_index); + AssignElements<A>(storage_view.data + erase_index, move_values, + storage_view.size - erase_end_index); - inlined_vector_internal::DestroyElements( - GetAllocPtr(), storage_view.data + (storage_view.size - erase_size), - erase_size); + DestroyElements<A>(GetAllocator(), + storage_view.data + (storage_view.size - erase_size), + erase_size); SubtractSize(erase_size); - return iterator(storage_view.data + erase_index); + return Iterator<A>(storage_view.data + erase_index); } template <typename T, size_t N, typename A> -auto Storage<T, N, A>::Reserve(size_type requested_capacity) -> void { - StorageView storage_view = MakeStorageView(); +auto Storage<T, N, A>::Reserve(SizeType<A> requested_capacity) -> void { + StorageView<A> storage_view = MakeStorageView(); if (ABSL_PREDICT_FALSE(requested_capacity <= storage_view.capacity)) return; - AllocationTransaction allocation_tx(GetAllocPtr()); + AllocationTransaction<A> allocation_tx(GetAllocator()); - IteratorValueAdapter<MoveIterator> move_values( - MoveIterator(storage_view.data)); + IteratorValueAdapter<A, MoveIterator<A>> move_values( + MoveIterator<A>(storage_view.data)); - size_type new_capacity = + SizeType<A> new_capacity = ComputeCapacity(storage_view.capacity, requested_capacity); - pointer new_data = allocation_tx.Allocate(new_capacity); + Pointer<A> new_data = allocation_tx.Allocate(new_capacity); - inlined_vector_internal::ConstructElements(GetAllocPtr(), new_data, - &move_values, storage_view.size); + ConstructElements<A>(GetAllocator(), new_data, move_values, + storage_view.size); - inlined_vector_internal::DestroyElements(GetAllocPtr(), storage_view.data, - storage_view.size); + DestroyElements<A>(GetAllocator(), storage_view.data, storage_view.size); DeallocateIfAllocated(); - AcquireAllocatedData(&allocation_tx); + AcquireAllocatedData(allocation_tx); SetIsAllocated(); } @@ -853,41 +797,40 @@ auto Storage<T, N, A>::ShrinkToFit() -> void { // May only be called on allocated instances! assert(GetIsAllocated()); - StorageView storage_view{GetAllocatedData(), GetSize(), - GetAllocatedCapacity()}; + StorageView<A> storage_view{GetAllocatedData(), GetSize(), + GetAllocatedCapacity()}; if (ABSL_PREDICT_FALSE(storage_view.size == storage_view.capacity)) return; - AllocationTransaction allocation_tx(GetAllocPtr()); + AllocationTransaction<A> allocation_tx(GetAllocator()); - IteratorValueAdapter<MoveIterator> move_values( - MoveIterator(storage_view.data)); + IteratorValueAdapter<A, MoveIterator<A>> move_values( + MoveIterator<A>(storage_view.data)); - pointer construct_data; + Pointer<A> construct_data; if (storage_view.size > GetInlinedCapacity()) { - size_type new_capacity = storage_view.size; + SizeType<A> new_capacity = storage_view.size; construct_data = allocation_tx.Allocate(new_capacity); } else { construct_data = GetInlinedData(); } ABSL_INTERNAL_TRY { - inlined_vector_internal::ConstructElements(GetAllocPtr(), construct_data, - &move_values, storage_view.size); + ConstructElements<A>(GetAllocator(), construct_data, move_values, + storage_view.size); } ABSL_INTERNAL_CATCH_ANY { SetAllocatedData(storage_view.data, storage_view.capacity); ABSL_INTERNAL_RETHROW; } - inlined_vector_internal::DestroyElements(GetAllocPtr(), storage_view.data, - storage_view.size); + DestroyElements<A>(GetAllocator(), storage_view.data, storage_view.size); - AllocatorTraits::deallocate(*GetAllocPtr(), storage_view.data, - storage_view.capacity); + AllocatorTraits<A>::deallocate(GetAllocator(), storage_view.data, + storage_view.capacity); if (allocation_tx.DidAllocate()) { - AcquireAllocatedData(&allocation_tx); + AcquireAllocatedData(allocation_tx); } else { UnsetIsAllocated(); } @@ -905,38 +848,37 @@ auto Storage<T, N, A>::Swap(Storage* other_storage_ptr) -> void { Storage* large_ptr = other_storage_ptr; if (small_ptr->GetSize() > large_ptr->GetSize()) swap(small_ptr, large_ptr); - for (size_type i = 0; i < small_ptr->GetSize(); ++i) { + for (SizeType<A> i = 0; i < small_ptr->GetSize(); ++i) { swap(small_ptr->GetInlinedData()[i], large_ptr->GetInlinedData()[i]); } - IteratorValueAdapter<MoveIterator> move_values( - MoveIterator(large_ptr->GetInlinedData() + small_ptr->GetSize())); + IteratorValueAdapter<A, MoveIterator<A>> move_values( + MoveIterator<A>(large_ptr->GetInlinedData() + small_ptr->GetSize())); - inlined_vector_internal::ConstructElements( - large_ptr->GetAllocPtr(), - small_ptr->GetInlinedData() + small_ptr->GetSize(), &move_values, - large_ptr->GetSize() - small_ptr->GetSize()); + ConstructElements<A>(large_ptr->GetAllocator(), + small_ptr->GetInlinedData() + small_ptr->GetSize(), + move_values, + large_ptr->GetSize() - small_ptr->GetSize()); - inlined_vector_internal::DestroyElements( - large_ptr->GetAllocPtr(), - large_ptr->GetInlinedData() + small_ptr->GetSize(), - large_ptr->GetSize() - small_ptr->GetSize()); + DestroyElements<A>(large_ptr->GetAllocator(), + large_ptr->GetInlinedData() + small_ptr->GetSize(), + large_ptr->GetSize() - small_ptr->GetSize()); } else { Storage* allocated_ptr = this; Storage* inlined_ptr = other_storage_ptr; if (!allocated_ptr->GetIsAllocated()) swap(allocated_ptr, inlined_ptr); - StorageView allocated_storage_view{allocated_ptr->GetAllocatedData(), - allocated_ptr->GetSize(), - allocated_ptr->GetAllocatedCapacity()}; + StorageView<A> allocated_storage_view{ + allocated_ptr->GetAllocatedData(), allocated_ptr->GetSize(), + allocated_ptr->GetAllocatedCapacity()}; - IteratorValueAdapter<MoveIterator> move_values( - MoveIterator(inlined_ptr->GetInlinedData())); + IteratorValueAdapter<A, MoveIterator<A>> move_values( + MoveIterator<A>(inlined_ptr->GetInlinedData())); ABSL_INTERNAL_TRY { - inlined_vector_internal::ConstructElements( - inlined_ptr->GetAllocPtr(), allocated_ptr->GetInlinedData(), - &move_values, inlined_ptr->GetSize()); + ConstructElements<A>(inlined_ptr->GetAllocator(), + allocated_ptr->GetInlinedData(), move_values, + inlined_ptr->GetSize()); } ABSL_INTERNAL_CATCH_ANY { allocated_ptr->SetAllocatedData(allocated_storage_view.data, @@ -944,16 +886,15 @@ auto Storage<T, N, A>::Swap(Storage* other_storage_ptr) -> void { ABSL_INTERNAL_RETHROW; } - inlined_vector_internal::DestroyElements(inlined_ptr->GetAllocPtr(), - inlined_ptr->GetInlinedData(), - inlined_ptr->GetSize()); + DestroyElements<A>(inlined_ptr->GetAllocator(), + inlined_ptr->GetInlinedData(), inlined_ptr->GetSize()); inlined_ptr->SetAllocatedData(allocated_storage_view.data, allocated_storage_view.capacity); } swap(GetSizeAndIsAllocated(), other_storage_ptr->GetSizeAndIsAllocated()); - swap(*GetAllocPtr(), *other_storage_ptr->GetAllocPtr()); + swap(GetAllocator(), other_storage_ptr->GetAllocator()); } // End ignore "array-bounds" and "maybe-uninitialized" diff --git a/third_party/abseil-cpp/absl/copts/GENERATED_AbseilCopts.cmake b/third_party/abseil-cpp/absl/copts/GENERATED_AbseilCopts.cmake index 22a25eba7f..a4ab1aa204 100644 --- a/third_party/abseil-cpp/absl/copts/GENERATED_AbseilCopts.cmake +++ b/third_party/abseil-cpp/absl/copts/GENERATED_AbseilCopts.cmake @@ -94,6 +94,7 @@ list(APPEND ABSL_LLVM_FLAGS "-Wno-implicit-int-conversion" "-Wno-shorten-64-to-32" "-Wno-sign-conversion" + "-Wno-unknown-warning-option" "-DNOMINMAX" ) diff --git a/third_party/abseil-cpp/absl/copts/GENERATED_copts.bzl b/third_party/abseil-cpp/absl/copts/GENERATED_copts.bzl index 0c7a91bd27..a6efc98e11 100644 --- a/third_party/abseil-cpp/absl/copts/GENERATED_copts.bzl +++ b/third_party/abseil-cpp/absl/copts/GENERATED_copts.bzl @@ -95,6 +95,7 @@ ABSL_LLVM_FLAGS = [ "-Wno-implicit-int-conversion", "-Wno-shorten-64-to-32", "-Wno-sign-conversion", + "-Wno-unknown-warning-option", "-DNOMINMAX", ] diff --git a/third_party/abseil-cpp/absl/copts/copts.py b/third_party/abseil-cpp/absl/copts/copts.py index 7268c68064..0d6c1ec3a6 100644 --- a/third_party/abseil-cpp/absl/copts/copts.py +++ b/third_party/abseil-cpp/absl/copts/copts.py @@ -112,6 +112,9 @@ COPT_VARS = { "-Wno-implicit-int-conversion", "-Wno-shorten-64-to-32", "-Wno-sign-conversion", + # Disable warnings on unknown warning flags (when warning flags are + # unknown on older compiler versions) + "-Wno-unknown-warning-option", # Don't define min and max macros (Build on Windows using clang) "-DNOMINMAX", ], diff --git a/third_party/abseil-cpp/absl/profiling/BUILD.bazel b/third_party/abseil-cpp/absl/profiling/BUILD.bazel new file mode 100644 index 0000000000..10b256d68c --- /dev/null +++ b/third_party/abseil-cpp/absl/profiling/BUILD.bazel @@ -0,0 +1,17 @@ +# Copyright 2021 The Abseil Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +package(default_visibility = ["//visibility:private"]) + +licenses(["notice"]) diff --git a/third_party/abseil-cpp/absl/profiling/CMakeLists.txt b/third_party/abseil-cpp/absl/profiling/CMakeLists.txt new file mode 100644 index 0000000000..3c37491e33 --- /dev/null +++ b/third_party/abseil-cpp/absl/profiling/CMakeLists.txt @@ -0,0 +1,14 @@ +# Copyright 2021 The Abseil Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + diff --git a/third_party/abseil-cpp/absl/random/internal/randen_hwaes.cc b/third_party/abseil-cpp/absl/random/internal/randen_hwaes.cc index 776c2e18f1..3040b3a768 100644 --- a/third_party/abseil-cpp/absl/random/internal/randen_hwaes.cc +++ b/third_party/abseil-cpp/absl/random/internal/randen_hwaes.cc @@ -31,7 +31,7 @@ // a hardware accelerated implementation of randen, or whether it // will contain stubs that exit the process. #if ABSL_HAVE_ACCELERATED_AES -// The following plaforms have implemented RandenHwAws. +// The following plaforms have implemented RandenHwAes. #if defined(ABSL_ARCH_X86_64) || defined(ABSL_ARCH_X86_32) || \ defined(ABSL_ARCH_PPC) || defined(ABSL_ARCH_ARM) || \ defined(ABSL_ARCH_AARCH64) diff --git a/third_party/abseil-cpp/absl/strings/cord.cc b/third_party/abseil-cpp/absl/strings/cord.cc index e9d72fa8f4..115705a203 100644 --- a/third_party/abseil-cpp/absl/strings/cord.cc +++ b/third_party/abseil-cpp/absl/strings/cord.cc @@ -689,13 +689,10 @@ void Cord::InlineRep::AppendArray(absl::string_view src, return; } - // Note: we don't concern ourselves if src aliases data stored in the - // inlined data of 'this', as we update the InlineData only at the end. - // We are going from an inline size to beyond inline size. Make the new size - // either double the inlined size, or the added size + 10%. - const size_t size1 = inline_length * 2 + src.size(); - const size_t size2 = inline_length + src.size() / 10; - rep = CordRepFlat::New(std::max<size_t>(size1, size2)); + // Allocate flat to be a perfect fit on first append exceeding inlined size. + // Subsequent growth will use amortized growth until we reach maximum flat + // size. + rep = CordRepFlat::New(inline_length + src.size()); appended = std::min(src.size(), rep->flat()->Capacity() - inline_length); memcpy(rep->flat()->Data(), data_.as_chars(), inline_length); memcpy(rep->flat()->Data() + inline_length, src.data(), appended); diff --git a/third_party/abseil-cpp/absl/strings/cord_test.cc b/third_party/abseil-cpp/absl/strings/cord_test.cc index d029633812..06a7bd6ca3 100644 --- a/third_party/abseil-cpp/absl/strings/cord_test.cc +++ b/third_party/abseil-cpp/absl/strings/cord_test.cc @@ -1385,6 +1385,59 @@ TEST_P(CordTest, DiabolicalGrowth) { cord.EstimatedMemoryUsage()); } +// The following tests check support for >4GB cords in 64-bit binaries, and +// 2GB-4GB cords in 32-bit binaries. This function returns the large cord size +// that's appropriate for the binary. + +// Construct a huge cord with the specified valid prefix. +static absl::Cord MakeHuge(absl::string_view prefix) { + absl::Cord cord; + if (sizeof(size_t) > 4) { + // In 64-bit binaries, test 64-bit Cord support. + const size_t size = + static_cast<size_t>(std::numeric_limits<uint32_t>::max()) + 314; + cord.Append(absl::MakeCordFromExternal( + absl::string_view(prefix.data(), size), + [](absl::string_view s) { DoNothing(s, nullptr); })); + } else { + // Cords are limited to 32-bit lengths in 32-bit binaries. The following + // tests check for use of "signed int" to represent Cord length/offset. + // However absl::string_view does not allow lengths >= (1u<<31), so we need + // to append in two parts; + const size_t s1 = (1u << 31) - 1; + // For shorter cord, `Append` copies the data rather than allocating a new + // node. The threshold is currently set to 511, so `s2` needs to be bigger + // to not trigger the copy. + const size_t s2 = 600; + cord.Append(absl::MakeCordFromExternal( + absl::string_view(prefix.data(), s1), + [](absl::string_view s) { DoNothing(s, nullptr); })); + cord.Append(absl::MakeCordFromExternal( + absl::string_view("", s2), + [](absl::string_view s) { DoNothing(s, nullptr); })); + } + return cord; +} + +TEST_P(CordTest, HugeCord) { + absl::Cord cord = MakeHuge("huge cord"); + EXPECT_LE(cord.size(), cord.EstimatedMemoryUsage()); + EXPECT_GE(cord.size() + 100, cord.EstimatedMemoryUsage()); +} + +// Tests that Append() works ok when handed a self reference +TEST_P(CordTest, AppendSelf) { + // We run the test until data is ~16K + // This guarantees it covers small, medium and large data. + std::string control_data = "Abc"; + absl::Cord data(control_data); + while (control_data.length() < 0x4000) { + data.Append(data); + control_data.append(control_data); + ASSERT_EQ(control_data, data); + } +} + TEST_P(CordTest, MakeFragmentedCordFromInitializerList) { absl::Cord fragmented = absl::MakeFragmentedCord({"A ", "fragmented ", "Cord"}); diff --git a/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.h b/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.h index 303f458083..bbaa7934fa 100644 --- a/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.h +++ b/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.h @@ -23,7 +23,6 @@ #include "absl/base/internal/raw_logging.h" #include "absl/base/optimization.h" #include "absl/strings/internal/cord_internal.h" -#include "absl/strings/internal/cord_rep_btree.h" #include "absl/strings/internal/cord_rep_flat.h" #include "absl/strings/string_view.h" #include "absl/types/span.h" diff --git a/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h b/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h index 267cc0ef69..b26cff6648 100644 --- a/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h +++ b/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h @@ -100,7 +100,7 @@ class FormatSpecTemplate // We use the 'unavailable' attribute to give a better compiler error than // just 'method is deleted'. // To avoid checking the format twice, we just check that the format is - // constexpr. If is it valid, then the overload below will kick in. + // constexpr. If it is valid, then the overload below will kick in. // We add the template here to make this overload have lower priority. template <typename = void> FormatSpecTemplate(const char* s) // NOLINT diff --git a/third_party/abseil-cpp/create_lts.py b/third_party/abseil-cpp/create_lts.py index d5d7b28c20..561708063f 100755 --- a/third_party/abseil-cpp/create_lts.py +++ b/third_party/abseil-cpp/create_lts.py @@ -96,6 +96,13 @@ def main(argv): # Replacement directives go here. ReplaceStringsInFile( + 'absl/base/config.h', { + '#undef ABSL_LTS_RELEASE_VERSION': + '#define ABSL_LTS_RELEASE_VERSION {}'.format(datestamp), + '#undef ABSL_LTS_RELEASE_PATCH_LEVEL': + '#define ABSL_LTS_RELEASE_PATCH_LEVEL 0' + }) + ReplaceStringsInFile( 'absl/base/options.h', { '#define ABSL_OPTION_USE_INLINE_NAMESPACE 0': '#define ABSL_OPTION_USE_INLINE_NAMESPACE 1', diff --git a/third_party/abseil-cpp/symbols_arm64_dbg.def b/third_party/abseil-cpp/symbols_arm64_dbg.def index 7cff44ed8c..a943d3fdf6 100644 --- a/third_party/abseil-cpp/symbols_arm64_dbg.def +++ b/third_party/abseil-cpp/symbols_arm64_dbg.def @@ -260,25 +260,25 @@ EXPORTS ??$ArgumentToConv@_J@str_format_internal@absl@@YA?AW4FormatConversionCharSet@1@XZ ??$ArgumentToConv@_K@str_format_internal@absl@@YA?AW4FormatConversionCharSet@1@XZ ??$ArgumentToConv@_N@str_format_internal@absl@@YA?AW4FormatConversionCharSet@1@XZ - ??$AssignElements@PEAUPayload@status_internal@absl@@V?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__1@std@@V?$move_iterator@PEAUPayload@status_internal@absl@@@23@@inlined_vector_internal@3@_K@inlined_vector_internal@absl@@YAXPEAUPayload@status_internal@1@PEAV?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__1@std@@V?$move_iterator@PEAUPayload@status_internal@absl@@@23@@01@_K@Z + ??$AssignElements@V?$allocator@UPayload@status_internal@absl@@@__1@std@@V?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__1@std@@V?$move_iterator@PEAUPayload@status_internal@absl@@@23@@inlined_vector_internal@absl@@@inlined_vector_internal@absl@@YAXPEAUPayload@status_internal@1@AEAV?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__1@std@@V?$move_iterator@PEAUPayload@status_internal@absl@@@23@@01@_K@Z ??$Base64EscapeInternal@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@strings_internal@absl@@YAXPEBE_KPEAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@_NPEBD@Z ??$CallOnceImpl@A6AXXZ$$V@base_internal@absl@@YAXPEAU?$atomic@I@__1@std@@W4SchedulingMode@01@A6AXXZ@Z ??$CastAndCallFunction@$$CBU?$atomic@_N@__1@std@@@Condition@absl@@CA_NPEBV01@@Z ??$CastAndCallFunction@USynchEvent@absl@@@Condition@absl@@CA_NPEBV01@@Z ??$Compare@$0FE@$0FE@@strings_internal@absl@@YAHAEBV?$BigUnsigned@$0FE@@01@0@Z - ??$ConstructElements@V?$allocator@H@__1@std@@PEAHV?$IteratorValueAdapter@V?$allocator@H@__1@std@@V?$move_iterator@PEAH@23@@inlined_vector_internal@absl@@_K@inlined_vector_internal@absl@@YAXPEAV?$allocator@H@__1@std@@PEAHPEAV?$IteratorValueAdapter@V?$allocator@H@__1@std@@V?$move_iterator@PEAH@23@@01@_K@Z - ??$ConstructElements@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@PEAPEAUCordRep@cord_internal@absl@@V?$CopyValueAdapter@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@6@_K@inlined_vector_internal@absl@@YAXPEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@PEAPEAUCordRep@cord_internal@1@PEAV?$CopyValueAdapter@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@01@_K@Z - ??$ConstructElements@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@PEAPEAUCordRep@cord_internal@absl@@V?$IteratorValueAdapter@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@V?$move_iterator@PEAPEAUCordRep@cord_internal@absl@@@23@@inlined_vector_internal@6@_K@inlined_vector_internal@absl@@YAXPEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@PEAPEAUCordRep@cord_internal@1@PEAV?$IteratorValueAdapter@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@V?$move_iterator@PEAPEAUCordRep@cord_internal@absl@@@23@@01@_K@Z - ??$ConstructElements@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@PEAPEBUCordRep@cord_internal@absl@@V?$IteratorValueAdapter@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@V?$move_iterator@PEAPEBUCordRep@cord_internal@absl@@@23@@inlined_vector_internal@6@_K@inlined_vector_internal@absl@@YAXPEAV?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@PEAPEBUCordRep@cord_internal@1@PEAV?$IteratorValueAdapter@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@V?$move_iterator@PEAPEBUCordRep@cord_internal@absl@@@23@@01@_K@Z - ??$ConstructElements@V?$allocator@UPayload@status_internal@absl@@@__1@std@@PEAUPayload@status_internal@absl@@V?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__1@std@@PEBUPayload@status_internal@absl@@@inlined_vector_internal@6@_K@inlined_vector_internal@absl@@YAXPEAV?$allocator@UPayload@status_internal@absl@@@__1@std@@PEAUPayload@status_internal@1@PEAV?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__1@std@@PEBUPayload@status_internal@absl@@@01@_K@Z - ??$ConstructElements@V?$allocator@UPayload@status_internal@absl@@@__1@std@@PEAUPayload@status_internal@absl@@V?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__1@std@@V?$move_iterator@PEAUPayload@status_internal@absl@@@23@@inlined_vector_internal@6@_K@inlined_vector_internal@absl@@YAXPEAV?$allocator@UPayload@status_internal@absl@@@__1@std@@PEAUPayload@status_internal@1@PEAV?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__1@std@@V?$move_iterator@PEAUPayload@status_internal@absl@@@23@@01@_K@Z - ??$ConstructElements@V?$allocator@USubRange@absl@@@__1@std@@PEAUSubRange@absl@@V?$IteratorValueAdapter@V?$allocator@USubRange@absl@@@__1@std@@V?$move_iterator@PEAUSubRange@absl@@@23@@inlined_vector_internal@5@_K@inlined_vector_internal@absl@@YAXPEAV?$allocator@USubRange@absl@@@__1@std@@PEAUSubRange@1@PEAV?$IteratorValueAdapter@V?$allocator@USubRange@absl@@@__1@std@@V?$move_iterator@PEAUSubRange@absl@@@23@@01@_K@Z + ??$ConstructElements@V?$allocator@H@__1@std@@V?$IteratorValueAdapter@V?$allocator@H@__1@std@@V?$move_iterator@PEAH@23@@inlined_vector_internal@absl@@@inlined_vector_internal@absl@@YAXAEAV?$allocator@H@__1@std@@PEAHAEAV?$IteratorValueAdapter@V?$allocator@H@__1@std@@V?$move_iterator@PEAH@23@@01@_K@Z + ??$ConstructElements@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@V?$CopyValueAdapter@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@@inlined_vector_internal@absl@@YAXAEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@PEAPEAUCordRep@cord_internal@1@AEAV?$CopyValueAdapter@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@01@_K@Z + ??$ConstructElements@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@V?$IteratorValueAdapter@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@V?$move_iterator@PEAPEAUCordRep@cord_internal@absl@@@23@@inlined_vector_internal@absl@@@inlined_vector_internal@absl@@YAXAEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@PEAPEAUCordRep@cord_internal@1@AEAV?$IteratorValueAdapter@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@V?$move_iterator@PEAPEAUCordRep@cord_internal@absl@@@23@@01@_K@Z + ??$ConstructElements@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@V?$IteratorValueAdapter@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@V?$move_iterator@PEAPEBUCordRep@cord_internal@absl@@@23@@inlined_vector_internal@absl@@@inlined_vector_internal@absl@@YAXAEAV?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@PEAPEBUCordRep@cord_internal@1@AEAV?$IteratorValueAdapter@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@V?$move_iterator@PEAPEBUCordRep@cord_internal@absl@@@23@@01@_K@Z + ??$ConstructElements@V?$allocator@UPayload@status_internal@absl@@@__1@std@@V?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__1@std@@PEBUPayload@status_internal@absl@@@inlined_vector_internal@absl@@@inlined_vector_internal@absl@@YAXAEAV?$allocator@UPayload@status_internal@absl@@@__1@std@@PEAUPayload@status_internal@1@AEAV?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__1@std@@PEBUPayload@status_internal@absl@@@01@_K@Z + ??$ConstructElements@V?$allocator@UPayload@status_internal@absl@@@__1@std@@V?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__1@std@@V?$move_iterator@PEAUPayload@status_internal@absl@@@23@@inlined_vector_internal@absl@@@inlined_vector_internal@absl@@YAXAEAV?$allocator@UPayload@status_internal@absl@@@__1@std@@PEAUPayload@status_internal@1@AEAV?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__1@std@@V?$move_iterator@PEAUPayload@status_internal@absl@@@23@@01@_K@Z + ??$ConstructElements@V?$allocator@USubRange@absl@@@__1@std@@V?$IteratorValueAdapter@V?$allocator@USubRange@absl@@@__1@std@@V?$move_iterator@PEAUSubRange@absl@@@23@@inlined_vector_internal@absl@@@inlined_vector_internal@absl@@YAXAEAV?$allocator@USubRange@absl@@@__1@std@@PEAUSubRange@1@AEAV?$IteratorValueAdapter@V?$allocator@USubRange@absl@@@__1@std@@V?$move_iterator@PEAUSubRange@absl@@@23@@01@_K@Z ??$Convert@VFormatArgImpl@str_format_internal@absl@@@FormatArgImplFriend@str_format_internal@absl@@SA_NVFormatArgImpl@12@VFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z - ??$DestroyElements@V?$allocator@H@__1@std@@PEAH_K@inlined_vector_internal@absl@@YAXPEAV?$allocator@H@__1@std@@PEAH_K@Z - ??$DestroyElements@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@PEAPEAUCordRep@cord_internal@absl@@_K@inlined_vector_internal@absl@@YAXPEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@PEAPEAUCordRep@cord_internal@1@_K@Z - ??$DestroyElements@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@PEAPEBUCordRep@cord_internal@absl@@_K@inlined_vector_internal@absl@@YAXPEAV?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@PEAPEBUCordRep@cord_internal@1@_K@Z - ??$DestroyElements@V?$allocator@UPayload@status_internal@absl@@@__1@std@@PEAUPayload@status_internal@absl@@_K@inlined_vector_internal@absl@@YAXPEAV?$allocator@UPayload@status_internal@absl@@@__1@std@@PEAUPayload@status_internal@1@_K@Z - ??$DestroyElements@V?$allocator@USubRange@absl@@@__1@std@@PEAUSubRange@absl@@_K@inlined_vector_internal@absl@@YAXPEAV?$allocator@USubRange@absl@@@__1@std@@PEAUSubRange@1@_K@Z + ??$DestroyElements@V?$allocator@H@__1@std@@@inlined_vector_internal@absl@@YAXAEAV?$allocator@H@__1@std@@PEAH_K@Z + ??$DestroyElements@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@YAXAEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@PEAPEAUCordRep@cord_internal@1@_K@Z + ??$DestroyElements@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@YAXAEAV?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@PEAPEBUCordRep@cord_internal@1@_K@Z + ??$DestroyElements@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@YAXAEAV?$allocator@UPayload@status_internal@absl@@@__1@std@@PEAUPayload@status_internal@1@_K@Z + ??$DestroyElements@V?$allocator@USubRange@absl@@@__1@std@@@inlined_vector_internal@absl@@YAXAEAV?$allocator@USubRange@absl@@@__1@std@@PEAUSubRange@1@_K@Z ??$Dispatch@C@FormatArgImpl@str_format_internal@absl@@CA_NTData@012@VFormatConversionSpecImpl@12@PEAX@Z ??$Dispatch@D@FormatArgImpl@str_format_internal@absl@@CA_NTData@012@VFormatConversionSpecImpl@12@PEAX@Z ??$Dispatch@E@FormatArgImpl@str_format_internal@absl@@CA_NTData@012@VFormatConversionSpecImpl@12@PEAX@Z @@ -556,16 +556,11 @@ EXPORTS ??$__upper_bound@AEAUByUnixTime@Transition@cctz@time_internal@absl@@PEBU2345@U2345@@__1@std@@YAPEBUTransition@cctz@time_internal@absl@@PEBU2345@0AEBU2345@AEAUByUnixTime@2345@@Z ??$addressof@$$CBU?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@@__1@std@@YAPEBU?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@01@AEBU201@@Z ??$addressof@$$CBU?$pair@$$CBV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@@__1@std@@YAPEBU?$pair@$$CBV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@01@AEBU201@@Z - ??$addressof@$$CBV?$allocator@UPayload@status_internal@absl@@@__1@std@@@__1@std@@YAPEBV?$allocator@UPayload@status_internal@absl@@@01@AEBV201@@Z ??$addressof@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@YAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@AEAPEBV23456@@Z ??$addressof@QEAUCordRep@cord_internal@absl@@@__1@std@@YAPEBQEAUCordRep@cord_internal@absl@@AEBQEAU234@@Z ??$addressof@U?$__hash_node_base@PEAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PEAX@__1@std@@@__1@std@@@__1@std@@YAPEAU?$__hash_node_base@PEAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PEAX@__1@std@@@01@AEAU201@@Z ??$addressof@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@@__1@std@@YAPEAU?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@01@AEAU201@@Z ??$addressof@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@@__1@std@@YAPEAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@01@AEAU201@@Z - ??$addressof@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@__1@std@@YAPEAV?$allocator@PEAUCordRep@cord_internal@absl@@@01@AEAV201@@Z - ??$addressof@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@__1@std@@YAPEAV?$allocator@PEBUCordRep@cord_internal@absl@@@01@AEAV201@@Z - ??$addressof@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@__1@std@@YAPEAV?$allocator@UPayload@status_internal@absl@@@01@AEAV201@@Z - ??$addressof@V?$allocator@USubRange@absl@@@__1@std@@@__1@std@@YAPEAV?$allocator@USubRange@absl@@@01@AEAV201@@Z ??$advance@PEBUTransition@cctz@time_internal@absl@@_J@__1@std@@YAXAEAPEBUTransition@cctz@time_internal@absl@@_J@Z ??$advance@PEBVFormatArgImpl@str_format_internal@absl@@_K@__1@std@@YAXAEAPEBVFormatArgImpl@str_format_internal@absl@@_K@Z ??$assign@PEBVFormatArgImpl@str_format_internal@absl@@@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__1@std@@@__1@std@@QEAAXPEBVFormatArgImpl@str_format_internal@absl@@0@Z @@ -573,23 +568,20 @@ EXPORTS ??$bit_cast@_J_K$0A@@absl@@YA_JAEB_K@Z ??$bit_cast@_K_J$0A@@absl@@YA_KAEB_J@Z ??$bit_width@_K@absl@@YA_K_K@Z - ??$construct@HAEBH@?$allocator_traits@V?$allocator@H@__1@std@@@absl@@SAXAEAV?$allocator@H@__1@std@@PEAHAEBH@Z - ??$construct@HH@?$allocator_traits@V?$allocator@H@__1@std@@@absl@@SAXAEAV?$allocator@H@__1@std@@PEAH$$QEAH@Z ??$construct@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@AEBQEAPEBV12345@@?$allocator@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@QEAAXPEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@AEBQEAPEBV34567@@Z ??$construct@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@AEBQEAPEBV12345@X@?$allocator_traits@V?$allocator@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@@12@PEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@AEBQEAPEBV45678@@Z ??$construct@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@PEAPEBV12345@@?$allocator@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@QEAAXPEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@$$QEAPEAPEBV34567@@Z ??$construct@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@PEAPEBV12345@X@?$allocator_traits@V?$allocator@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@@12@PEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@$$QEAPEAPEBV45678@@Z ??$construct@PEAUCordRep@cord_internal@absl@@AEBQEAU123@@?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@QEAAXPEAPEAUCordRep@cord_internal@absl@@AEBQEAU345@@Z - ??$construct@PEAUCordRep@cord_internal@absl@@AEBQEAU123@@?$allocator_traits@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@absl@@SAXAEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@PEAPEAUCordRep@cord_internal@1@AEBQEAU561@@Z ??$construct@PEAUCordRep@cord_internal@absl@@AEBQEAU123@X@?$allocator_traits@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@PEAUCordRep@cord_internal@absl@@@12@PEAPEAUCordRep@cord_internal@absl@@AEBQEAU456@@Z ??$construct@PEAUCordRep@cord_internal@absl@@PEAU123@@?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@QEAAXPEAPEAUCordRep@cord_internal@absl@@$$QEAPEAU345@@Z - ??$construct@PEAUCordRep@cord_internal@absl@@PEAU123@@?$allocator_traits@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@absl@@SAXAEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@PEAPEAUCordRep@cord_internal@1@$$QEAPEAU561@@Z + ??$construct@PEAUCordRep@cord_internal@absl@@PEAU123@X@?$allocator_traits@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@PEAUCordRep@cord_internal@absl@@@12@PEAPEAUCordRep@cord_internal@absl@@$$QEAPEAU456@@Z ??$construct@PEAVCordzHandle@cord_internal@absl@@AEBQEAV123@@?$allocator@PEAVCordzHandle@cord_internal@absl@@@__1@std@@QEAAXPEAPEAVCordzHandle@cord_internal@absl@@AEBQEAV345@@Z ??$construct@PEAVCordzHandle@cord_internal@absl@@AEBQEAV123@X@?$allocator_traits@V?$allocator@PEAVCordzHandle@cord_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@PEAVCordzHandle@cord_internal@absl@@@12@PEAPEAVCordzHandle@cord_internal@absl@@AEBQEAV456@@Z ??$construct@PEBUCordRep@cord_internal@absl@@AEBQEBU123@@?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@QEAAXPEAPEBUCordRep@cord_internal@absl@@AEBQEBU345@@Z - ??$construct@PEBUCordRep@cord_internal@absl@@AEBQEBU123@@?$allocator_traits@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@absl@@SAXAEAV?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@PEAPEBUCordRep@cord_internal@1@AEBQEBU561@@Z + ??$construct@PEBUCordRep@cord_internal@absl@@AEBQEBU123@X@?$allocator_traits@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@PEBUCordRep@cord_internal@absl@@@12@PEAPEBUCordRep@cord_internal@absl@@AEBQEBU456@@Z ??$construct@PEBUCordRep@cord_internal@absl@@PEBU123@@?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@QEAAXPEAPEBUCordRep@cord_internal@absl@@$$QEAPEBU345@@Z - ??$construct@PEBUCordRep@cord_internal@absl@@PEBU123@@?$allocator_traits@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@absl@@SAXAEAV?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@PEAPEBUCordRep@cord_internal@1@$$QEAPEBU561@@Z + ??$construct@PEBUCordRep@cord_internal@absl@@PEBU123@X@?$allocator_traits@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@PEBUCordRep@cord_internal@absl@@@12@PEAPEBUCordRep@cord_internal@absl@@$$QEAPEBU456@@Z ??$construct@PEBVCordzHandle@cord_internal@absl@@AEBQEBV123@@?$allocator@PEBVCordzHandle@cord_internal@absl@@@__1@std@@QEAAXPEAPEBVCordzHandle@cord_internal@absl@@AEBQEBV345@@Z ??$construct@PEBVCordzHandle@cord_internal@absl@@AEBQEBV123@X@?$allocator_traits@V?$allocator@PEBVCordzHandle@cord_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@PEBVCordzHandle@cord_internal@absl@@@12@PEAPEBVCordzHandle@cord_internal@absl@@AEBQEBV456@@Z ??$construct@PEBVImpl@time_zone@cctz@time_internal@absl@@AEBQEBV12345@@?$allocator@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@QEAAXPEAPEBVImpl@time_zone@cctz@time_internal@absl@@AEBQEBV34567@@Z @@ -599,11 +591,11 @@ EXPORTS ??$construct@UConversionItem@ParsedFormatBase@str_format_internal@absl@@U1234@@?$allocator@UConversionItem@ParsedFormatBase@str_format_internal@absl@@@__1@std@@QEAAXPEAUConversionItem@ParsedFormatBase@str_format_internal@absl@@$$QEAU3456@@Z ??$construct@UConversionItem@ParsedFormatBase@str_format_internal@absl@@U1234@X@?$allocator_traits@V?$allocator@UConversionItem@ParsedFormatBase@str_format_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@UConversionItem@ParsedFormatBase@str_format_internal@absl@@@12@PEAUConversionItem@ParsedFormatBase@str_format_internal@absl@@$$QEAU4567@@Z ??$construct@UPayload@status_internal@absl@@AEBU123@@?$allocator@UPayload@status_internal@absl@@@__1@std@@QEAAXPEAUPayload@status_internal@absl@@AEBU345@@Z - ??$construct@UPayload@status_internal@absl@@AEBU123@@?$allocator_traits@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@absl@@SAXAEAV?$allocator@UPayload@status_internal@absl@@@__1@std@@PEAUPayload@status_internal@1@AEBU561@@Z + ??$construct@UPayload@status_internal@absl@@AEBU123@X@?$allocator_traits@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@UPayload@status_internal@absl@@@12@PEAUPayload@status_internal@absl@@AEBU456@@Z ??$construct@UPayload@status_internal@absl@@U123@@?$allocator@UPayload@status_internal@absl@@@__1@std@@QEAAXPEAUPayload@status_internal@absl@@$$QEAU345@@Z - ??$construct@UPayload@status_internal@absl@@U123@@?$allocator_traits@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@absl@@SAXAEAV?$allocator@UPayload@status_internal@absl@@@__1@std@@PEAUPayload@status_internal@1@$$QEAU561@@Z + ??$construct@UPayload@status_internal@absl@@U123@X@?$allocator_traits@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@UPayload@status_internal@absl@@@12@PEAUPayload@status_internal@absl@@$$QEAU456@@Z ??$construct@USubRange@absl@@U12@@?$allocator@USubRange@absl@@@__1@std@@QEAAXPEAUSubRange@absl@@$$QEAU34@@Z - ??$construct@USubRange@absl@@U12@@?$allocator_traits@V?$allocator@USubRange@absl@@@__1@std@@@absl@@SAXAEAV?$allocator@USubRange@absl@@@__1@std@@PEAUSubRange@1@$$QEAU51@@Z + ??$construct@USubRange@absl@@U12@X@?$allocator_traits@V?$allocator@USubRange@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@USubRange@absl@@@12@PEAUSubRange@absl@@$$QEAU45@@Z ??$construct@UTransition@cctz@time_internal@absl@@$$V@?$allocator@UTransition@cctz@time_internal@absl@@@__1@std@@QEAAXPEAUTransition@cctz@time_internal@absl@@@Z ??$construct@UTransition@cctz@time_internal@absl@@$$VX@?$allocator_traits@V?$allocator@UTransition@cctz@time_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@UTransition@cctz@time_internal@absl@@@12@PEAUTransition@cctz@time_internal@absl@@@Z ??$construct@UTransition@cctz@time_internal@absl@@AEBU1234@@?$allocator@UTransition@cctz@time_internal@absl@@@__1@std@@QEAAXPEAUTransition@cctz@time_internal@absl@@AEBU3456@@Z @@ -617,38 +609,22 @@ EXPORTS ??$construct@UViableSubstitution@strings_internal@absl@@AEAVstring_view@3@AEBV43@AEA_K@?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@QEAAXPEAUViableSubstitution@strings_internal@absl@@AEAVstring_view@5@AEBV65@AEA_K@Z ??$construct@UViableSubstitution@strings_internal@absl@@AEAVstring_view@3@AEBV43@AEA_KX@?$allocator_traits@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@UViableSubstitution@strings_internal@absl@@@12@PEAUViableSubstitution@strings_internal@absl@@AEAVstring_view@6@AEBV76@AEA_K@Z ??$construct@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@?$optional_data_base@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@optional_internal@absl@@IEAAX$$QEAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z - ??$construct_impl@V?$allocator@H@__1@std@@AEAPEAHAEBH@?$allocator_traits@V?$allocator@H@__1@std@@@absl@@CAXHAEAV?$allocator@H@__1@std@@AEAPEAHAEBH@Z - ??$construct_impl@V?$allocator@H@__1@std@@AEAPEAHH@?$allocator_traits@V?$allocator@H@__1@std@@@absl@@CAXHAEAV?$allocator@H@__1@std@@AEAPEAH$$QEAH@Z - ??$construct_impl@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@AEAPEAPEAUCordRep@cord_internal@absl@@AEBQEAU456@@?$allocator_traits@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@absl@@CAXHAEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@AEAPEAPEAUCordRep@cord_internal@1@AEBQEAU561@@Z - ??$construct_impl@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@AEAPEAPEAUCordRep@cord_internal@absl@@PEAU456@@?$allocator_traits@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@absl@@CAXHAEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@AEAPEAPEAUCordRep@cord_internal@1@$$QEAPEAU561@@Z - ??$construct_impl@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@AEAPEAPEBUCordRep@cord_internal@absl@@AEBQEBU456@@?$allocator_traits@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@absl@@CAXHAEAV?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@AEAPEAPEBUCordRep@cord_internal@1@AEBQEBU561@@Z - ??$construct_impl@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@AEAPEAPEBUCordRep@cord_internal@absl@@PEBU456@@?$allocator_traits@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@absl@@CAXHAEAV?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@AEAPEAPEBUCordRep@cord_internal@1@$$QEAPEBU561@@Z - ??$construct_impl@V?$allocator@UPayload@status_internal@absl@@@__1@std@@AEAPEAUPayload@status_internal@absl@@AEBU456@@?$allocator_traits@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@absl@@CAXHAEAV?$allocator@UPayload@status_internal@absl@@@__1@std@@AEAPEAUPayload@status_internal@1@AEBU561@@Z - ??$construct_impl@V?$allocator@UPayload@status_internal@absl@@@__1@std@@AEAPEAUPayload@status_internal@absl@@U456@@?$allocator_traits@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@absl@@CAXHAEAV?$allocator@UPayload@status_internal@absl@@@__1@std@@AEAPEAUPayload@status_internal@1@$$QEAU561@@Z - ??$construct_impl@V?$allocator@USubRange@absl@@@__1@std@@AEAPEAUSubRange@absl@@U45@@?$allocator_traits@V?$allocator@USubRange@absl@@@__1@std@@@absl@@CAXHAEAV?$allocator@USubRange@absl@@@__1@std@@AEAPEAUSubRange@1@$$QEAU51@@Z ??$copy@PEBVFormatArgImpl@str_format_internal@absl@@PEAV123@@__1@std@@YAPEAVFormatArgImpl@str_format_internal@absl@@PEBV234@0PEAV234@@Z ??$countl_zero@_K@absl@@YAH_K@Z ??$countr_zero@_K@absl@@YAH_K@Z - ??$destroy@H@?$allocator_traits@V?$allocator@H@__1@std@@@absl@@SAXAEAV?$allocator@H@__1@std@@PEAH@Z ??$destroy@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@X@?$allocator_traits@V?$allocator@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@@12@PEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@@Z - ??$destroy@PEAUCordRep@cord_internal@absl@@@?$allocator_traits@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@absl@@SAXAEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@PEAPEAUCordRep@cord_internal@1@@Z ??$destroy@PEAUCordRep@cord_internal@absl@@X@?$allocator_traits@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@PEAUCordRep@cord_internal@absl@@@12@PEAPEAUCordRep@cord_internal@absl@@@Z ??$destroy@PEAVCordzHandle@cord_internal@absl@@X@?$allocator_traits@V?$allocator@PEAVCordzHandle@cord_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@PEAVCordzHandle@cord_internal@absl@@@12@PEAPEAVCordzHandle@cord_internal@absl@@@Z - ??$destroy@PEBUCordRep@cord_internal@absl@@@?$allocator_traits@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@absl@@SAXAEAV?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@PEAPEBUCordRep@cord_internal@1@@Z + ??$destroy@PEBUCordRep@cord_internal@absl@@X@?$allocator_traits@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@PEBUCordRep@cord_internal@absl@@@12@PEAPEBUCordRep@cord_internal@absl@@@Z ??$destroy@PEBVCordzHandle@cord_internal@absl@@X@?$allocator_traits@V?$allocator@PEBVCordzHandle@cord_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@PEBVCordzHandle@cord_internal@absl@@@12@PEAPEBVCordzHandle@cord_internal@absl@@@Z ??$destroy@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@XX@?$allocator_traits@V?$allocator@U?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PEAX@__1@std@@@__1@std@@@__1@std@@SAXAEAV?$allocator@U?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PEAX@__1@std@@@12@PEAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@12@@Z ??$destroy@UConversionItem@ParsedFormatBase@str_format_internal@absl@@X@?$allocator_traits@V?$allocator@UConversionItem@ParsedFormatBase@str_format_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@UConversionItem@ParsedFormatBase@str_format_internal@absl@@@12@PEAUConversionItem@ParsedFormatBase@str_format_internal@absl@@@Z - ??$destroy@UPayload@status_internal@absl@@@?$allocator_traits@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@absl@@SAXAEAV?$allocator@UPayload@status_internal@absl@@@__1@std@@PEAUPayload@status_internal@1@@Z - ??$destroy@USubRange@absl@@@?$allocator_traits@V?$allocator@USubRange@absl@@@__1@std@@@absl@@SAXAEAV?$allocator@USubRange@absl@@@__1@std@@PEAUSubRange@1@@Z + ??$destroy@UPayload@status_internal@absl@@X@?$allocator_traits@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@UPayload@status_internal@absl@@@12@PEAUPayload@status_internal@absl@@@Z + ??$destroy@USubRange@absl@@X@?$allocator_traits@V?$allocator@USubRange@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@USubRange@absl@@@12@PEAUSubRange@absl@@@Z ??$destroy@UTransition@cctz@time_internal@absl@@X@?$allocator_traits@V?$allocator@UTransition@cctz@time_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@UTransition@cctz@time_internal@absl@@@12@PEAUTransition@cctz@time_internal@absl@@@Z ??$destroy@UTransitionType@cctz@time_internal@absl@@X@?$allocator_traits@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@UTransitionType@cctz@time_internal@absl@@@12@PEAUTransitionType@cctz@time_internal@absl@@@Z ??$destroy@UViableSubstitution@strings_internal@absl@@X@?$allocator_traits@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@UViableSubstitution@strings_internal@absl@@@12@PEAUViableSubstitution@strings_internal@absl@@@Z ??$destroy@VFormatArgImpl@str_format_internal@absl@@X@?$allocator_traits@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@12@PEAVFormatArgImpl@str_format_internal@absl@@@Z - ??$destroy_impl@V?$allocator@H@__1@std@@H@?$allocator_traits@V?$allocator@H@__1@std@@@absl@@CAXHAEAV?$allocator@H@__1@std@@PEAH@Z - ??$destroy_impl@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@PEAUCordRep@cord_internal@absl@@@?$allocator_traits@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@absl@@CAXHAEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@PEAPEAUCordRep@cord_internal@1@@Z - ??$destroy_impl@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@PEBUCordRep@cord_internal@absl@@@?$allocator_traits@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@absl@@CAXHAEAV?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@PEAPEBUCordRep@cord_internal@1@@Z - ??$destroy_impl@V?$allocator@UPayload@status_internal@absl@@@__1@std@@UPayload@status_internal@absl@@@?$allocator_traits@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@absl@@CAXHAEAV?$allocator@UPayload@status_internal@absl@@@__1@std@@PEAUPayload@status_internal@1@@Z - ??$destroy_impl@V?$allocator@USubRange@absl@@@__1@std@@USubRange@absl@@@?$allocator_traits@V?$allocator@USubRange@absl@@@__1@std@@@absl@@CAXHAEAV?$allocator@USubRange@absl@@@__1@std@@PEAUSubRange@1@@Z ??$distance@PEBUPayload@status_internal@absl@@@__1@std@@YA_JPEBUPayload@status_internal@absl@@0@Z ??$distance@PEBUTransition@cctz@time_internal@absl@@@__1@std@@YA_JPEBUTransition@cctz@time_internal@absl@@0@Z ??$distance@PEBVFormatArgImpl@str_format_internal@absl@@@__1@std@@YA_JPEBVFormatArgImpl@str_format_internal@absl@@0@Z @@ -671,12 +647,8 @@ EXPORTS ??$find_first_non_full@X@container_internal@absl@@YA?AUFindInfo@01@PEBW4ctrl_t@01@_K1@Z ??$forward@$$T@absl@@YA$$QEA$$TAEA$$T@Z ??$forward@AEAI@absl@@YAAEAIAEAI@Z - ??$forward@AEAPEAPEAUCordRep@cord_internal@absl@@@__1@std@@YAAEAPEAPEAUCordRep@cord_internal@absl@@AEAPEAPEAU234@@Z - ??$forward@AEAPEAPEBUCordRep@cord_internal@absl@@@__1@std@@YAAEAPEAPEBUCordRep@cord_internal@absl@@AEAPEAPEBU234@@Z ??$forward@AEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@YAAEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@AEAPEAPEBV23456@@Z ??$forward@AEAPEAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PEAX@__1@std@@@__1@std@@YAAEAPEAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PEAX@01@AEAPEAU201@@Z - ??$forward@AEAPEAUPayload@status_internal@absl@@@__1@std@@YAAEAPEAUPayload@status_internal@absl@@AEAPEAU234@@Z - ??$forward@AEAPEAUSubRange@absl@@@__1@std@@YAAEAPEAUSubRange@absl@@AEAPEAU23@@Z ??$forward@AEAPEAUThreadIdentity@base_internal@absl@@@__1@std@@YAAEAPEAUThreadIdentity@base_internal@absl@@AEAPEAU234@@Z ??$forward@AEAPEAV?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__1@std@@@absl@@@__1@std@@YAAEAPEAV?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__1@std@@@absl@@AEAPEAV23@@Z ??$forward@AEAPEAVTimeZoneIf@cctz@time_internal@absl@@@__1@std@@YAAEAPEAVTimeZoneIf@cctz@time_internal@absl@@AEAPEAV2345@@Z @@ -839,11 +811,11 @@ EXPORTS ??$swap@UViableSubstitution@strings_internal@absl@@@__1@std@@YAXAEAUViableSubstitution@strings_internal@absl@@0@Z ??$upper_bound@PEBUTransition@cctz@time_internal@absl@@U1234@UByCivilTime@1234@@__1@std@@YAPEBUTransition@cctz@time_internal@absl@@PEBU2345@0AEBU2345@UByCivilTime@2345@@Z ??$upper_bound@PEBUTransition@cctz@time_internal@absl@@U1234@UByUnixTime@1234@@__1@std@@YAPEBUTransition@cctz@time_internal@absl@@PEBU2345@0AEBU2345@UByUnixTime@2345@@Z - ??0?$AllocationTransaction@V?$allocator@H@__1@std@@@inlined_vector_internal@absl@@QEAA@PEAV?$allocator@H@__1@std@@@Z - ??0?$AllocationTransaction@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAA@PEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@Z - ??0?$AllocationTransaction@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAA@PEAV?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@Z - ??0?$AllocationTransaction@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAA@PEAV?$allocator@UPayload@status_internal@absl@@@__1@std@@@Z - ??0?$AllocationTransaction@V?$allocator@USubRange@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAA@PEAV?$allocator@USubRange@absl@@@__1@std@@@Z + ??0?$AllocationTransaction@V?$allocator@H@__1@std@@@inlined_vector_internal@absl@@QEAA@AEAV?$allocator@H@__1@std@@@Z + ??0?$AllocationTransaction@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAA@AEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@Z + ??0?$AllocationTransaction@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAA@AEAV?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@Z + ??0?$AllocationTransaction@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAA@AEAV?$allocator@UPayload@status_internal@absl@@@__1@std@@@Z + ??0?$AllocationTransaction@V?$allocator@USubRange@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAA@AEAV?$allocator@USubRange@absl@@@__1@std@@@Z ??0?$BigUnsigned@$03@strings_internal@absl@@QEAA@Vstring_view@2@@Z ??0?$BigUnsigned@$03@strings_internal@absl@@QEAA@XZ ??0?$BigUnsigned@$03@strings_internal@absl@@QEAA@_K@Z @@ -851,7 +823,7 @@ EXPORTS ??0?$BigUnsigned@$0FE@@strings_internal@absl@@QEAA@XZ ??0?$BigUnsigned@$0FE@@strings_internal@absl@@QEAA@_K@Z ??0?$BitMask@_K$07$02@container_internal@absl@@QEAA@_K@Z - ??0?$CopyValueAdapter@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAA@AEBQEAUCordRep@cord_internal@2@@Z + ??0?$CopyValueAdapter@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAA@PEBQEAUCordRep@cord_internal@2@@Z ??0?$FixedArray@PEAUCordRep@cord_internal@absl@@$0?0V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@absl@@QEAA@_KAEBV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@Z ??0?$InlinedVector@H$0CP@V?$allocator@H@__1@std@@@absl@@QEAA@XZ ??0?$InlinedVector@PEAUCordRep@cord_internal@absl@@$01V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@absl@@QEAA@XZ @@ -1550,12 +1522,12 @@ EXPORTS ?AbslParseFlag@absl@@YA_NVstring_view@1@PEAVTime@1@PEAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z ?AbslUnparseFlag@absl@@YA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@VDuration@1@@Z ?AbslUnparseFlag@absl@@YA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@VTime@1@@Z - ?AcquireAllocatedData@?$Storage@H$0CP@V?$allocator@H@__1@std@@@inlined_vector_internal@absl@@QEAAXPEAV?$AllocationTransaction@V?$allocator@H@__1@std@@@23@@Z - ?AcquireAllocatedData@?$Storage@PEAUCordRep@cord_internal@absl@@$01V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAXPEAV?$AllocationTransaction@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@23@@Z - ?AcquireAllocatedData@?$Storage@PEAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAXPEAV?$AllocationTransaction@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@23@@Z - ?AcquireAllocatedData@?$Storage@PEBUCordRep@cord_internal@absl@@$0CP@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAXPEAV?$AllocationTransaction@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@23@@Z - ?AcquireAllocatedData@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAXPEAV?$AllocationTransaction@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@23@@Z - ?AcquireAllocatedData@?$Storage@USubRange@absl@@$0CP@V?$allocator@USubRange@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAXPEAV?$AllocationTransaction@V?$allocator@USubRange@absl@@@__1@std@@@23@@Z + ?AcquireAllocatedData@?$Storage@H$0CP@V?$allocator@H@__1@std@@@inlined_vector_internal@absl@@QEAAXAEAV?$AllocationTransaction@V?$allocator@H@__1@std@@@23@@Z + ?AcquireAllocatedData@?$Storage@PEAUCordRep@cord_internal@absl@@$01V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAXAEAV?$AllocationTransaction@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@23@@Z + ?AcquireAllocatedData@?$Storage@PEAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAXAEAV?$AllocationTransaction@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@23@@Z + ?AcquireAllocatedData@?$Storage@PEBUCordRep@cord_internal@absl@@$0CP@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAXAEAV?$AllocationTransaction@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@23@@Z + ?AcquireAllocatedData@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAXAEAV?$AllocationTransaction@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@23@@Z + ?AcquireAllocatedData@?$Storage@USubRange@absl@@$0CP@V?$allocator@USubRange@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAXAEAV?$AllocationTransaction@V?$allocator@USubRange@absl@@@__1@std@@@23@@Z ?Add@Filler@CordRepRing@cord_internal@absl@@QEAAXPEAUCordRep@34@_K1@Z ?AddDataOffset@CordRepRing@cord_internal@absl@@AEAAXI_K@Z ?AddNode@CordForest@absl@@AEAAXPEAUCordRep@cord_internal@2@@Z @@ -1683,13 +1655,13 @@ EXPORTS ?ComputeCapacity@?$Storage@PEAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@SA_K_K0@Z ?ComputeCapacity@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@SA_K_K0@Z ?ConcatNodes@CordForest@absl@@QEAAPEAUCordRep@cord_internal@2@XZ - ?ConstructNext@?$CopyValueAdapter@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAXPEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@PEAPEAUCordRep@cord_internal@3@@Z - ?ConstructNext@?$IteratorValueAdapter@V?$allocator@H@__1@std@@V?$move_iterator@PEAH@23@@inlined_vector_internal@absl@@QEAAXPEAV?$allocator@H@__1@std@@PEAH@Z - ?ConstructNext@?$IteratorValueAdapter@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@V?$move_iterator@PEAPEAUCordRep@cord_internal@absl@@@23@@inlined_vector_internal@absl@@QEAAXPEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@PEAPEAUCordRep@cord_internal@3@@Z - ?ConstructNext@?$IteratorValueAdapter@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@V?$move_iterator@PEAPEBUCordRep@cord_internal@absl@@@23@@inlined_vector_internal@absl@@QEAAXPEAV?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@PEAPEBUCordRep@cord_internal@3@@Z - ?ConstructNext@?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__1@std@@PEBUPayload@status_internal@absl@@@inlined_vector_internal@absl@@QEAAXPEAV?$allocator@UPayload@status_internal@absl@@@__1@std@@PEAUPayload@status_internal@3@@Z - ?ConstructNext@?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__1@std@@V?$move_iterator@PEAUPayload@status_internal@absl@@@23@@inlined_vector_internal@absl@@QEAAXPEAV?$allocator@UPayload@status_internal@absl@@@__1@std@@PEAUPayload@status_internal@3@@Z - ?ConstructNext@?$IteratorValueAdapter@V?$allocator@USubRange@absl@@@__1@std@@V?$move_iterator@PEAUSubRange@absl@@@23@@inlined_vector_internal@absl@@QEAAXPEAV?$allocator@USubRange@absl@@@__1@std@@PEAUSubRange@3@@Z + ?ConstructNext@?$CopyValueAdapter@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAXAEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@PEAPEAUCordRep@cord_internal@3@@Z + ?ConstructNext@?$IteratorValueAdapter@V?$allocator@H@__1@std@@V?$move_iterator@PEAH@23@@inlined_vector_internal@absl@@QEAAXAEAV?$allocator@H@__1@std@@PEAH@Z + ?ConstructNext@?$IteratorValueAdapter@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@V?$move_iterator@PEAPEAUCordRep@cord_internal@absl@@@23@@inlined_vector_internal@absl@@QEAAXAEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@PEAPEAUCordRep@cord_internal@3@@Z + ?ConstructNext@?$IteratorValueAdapter@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@V?$move_iterator@PEAPEBUCordRep@cord_internal@absl@@@23@@inlined_vector_internal@absl@@QEAAXAEAV?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@PEAPEBUCordRep@cord_internal@3@@Z + ?ConstructNext@?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__1@std@@PEBUPayload@status_internal@absl@@@inlined_vector_internal@absl@@QEAAXAEAV?$allocator@UPayload@status_internal@absl@@@__1@std@@PEAUPayload@status_internal@3@@Z + ?ConstructNext@?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__1@std@@V?$move_iterator@PEAUPayload@status_internal@absl@@@23@@inlined_vector_internal@absl@@QEAAXAEAV?$allocator@UPayload@status_internal@absl@@@__1@std@@PEAUPayload@status_internal@3@@Z + ?ConstructNext@?$IteratorValueAdapter@V?$allocator@USubRange@absl@@@__1@std@@V?$move_iterator@PEAUSubRange@absl@@@23@@inlined_vector_internal@absl@@QEAAXAEAV?$allocator@USubRange@absl@@@__1@std@@PEAUSubRange@3@@Z ?Consume@cord_internal@absl@@YAXPEAUCordRep@12@V?$FunctionRef@$$A6AXPEAUCordRep@cord_internal@absl@@_K1@Z@2@@Z ?ConsumePrefix@absl@@YA_NPEAVstring_view@1@V21@@Z ?ConsumeUnboundConversion@str_format_internal@absl@@YAPEBDPEBD0PEAUUnboundConversion@12@PEAH@Z @@ -1925,13 +1897,6 @@ EXPORTS ?FromUnixDuration@time_internal@absl@@YA?AVTime@2@VDuration@2@@Z ?FromUnixSeconds@cctz@time_internal@absl@@YA?AV?$time_point@Vsystem_clock@chrono@__1@std@@V?$duration@_JV?$ratio@$00$00@__1@std@@@234@@chrono@__1@std@@_J@Z ?Get@RefcountAndFlags@cord_internal@absl@@QEBAHXZ - ?GetAllocPtr@?$Storage@H$0CP@V?$allocator@H@__1@std@@@inlined_vector_internal@absl@@QEAAPEAV?$allocator@H@__1@std@@XZ - ?GetAllocPtr@?$Storage@PEAUCordRep@cord_internal@absl@@$01V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAPEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@XZ - ?GetAllocPtr@?$Storage@PEAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAPEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@XZ - ?GetAllocPtr@?$Storage@PEBUCordRep@cord_internal@absl@@$0CP@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAPEAV?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@XZ - ?GetAllocPtr@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAPEAV?$allocator@UPayload@status_internal@absl@@@__1@std@@XZ - ?GetAllocPtr@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEBAPEBV?$allocator@UPayload@status_internal@absl@@@__1@std@@XZ - ?GetAllocPtr@?$Storage@USubRange@absl@@$0CP@V?$allocator@USubRange@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAPEAV?$allocator@USubRange@absl@@@__1@std@@XZ ?GetAllocatedCapacity@?$Storage@H$0CP@V?$allocator@H@__1@std@@@inlined_vector_internal@absl@@QEBA_KXZ ?GetAllocatedCapacity@?$Storage@PEAUCordRep@cord_internal@absl@@$01V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEBA_KXZ ?GetAllocatedCapacity@?$Storage@PEAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEBA_KXZ @@ -1950,6 +1915,13 @@ EXPORTS ?GetAllocator@?$AllocationTransaction@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAAEAV?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@XZ ?GetAllocator@?$AllocationTransaction@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAAEAV?$allocator@UPayload@status_internal@absl@@@__1@std@@XZ ?GetAllocator@?$AllocationTransaction@V?$allocator@USubRange@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAAEAV?$allocator@USubRange@absl@@@__1@std@@XZ + ?GetAllocator@?$Storage@H$0CP@V?$allocator@H@__1@std@@@inlined_vector_internal@absl@@QEAAAEAV?$allocator@H@__1@std@@XZ + ?GetAllocator@?$Storage@PEAUCordRep@cord_internal@absl@@$01V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAAEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@XZ + ?GetAllocator@?$Storage@PEAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAAEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@XZ + ?GetAllocator@?$Storage@PEBUCordRep@cord_internal@absl@@$0CP@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAAEAV?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@XZ + ?GetAllocator@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAAEAV?$allocator@UPayload@status_internal@absl@@@__1@std@@XZ + ?GetAllocator@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEBAAEBV?$allocator@UPayload@status_internal@absl@@@__1@std@@XZ + ?GetAllocator@?$Storage@USubRange@absl@@$0CP@V?$allocator@USubRange@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAAEAV?$allocator@USubRange@absl@@@__1@std@@XZ ?GetAppendBuffer@CordRepBtree@cord_internal@absl@@QEAA?AV?$Span@D@3@_K@Z ?GetAppendBuffer@CordRepRing@cord_internal@absl@@QEAA?AV?$Span@D@3@_K@Z ?GetAppendBufferSlow@CordRepBtree@cord_internal@absl@@AEAA?AV?$Span@D@3@_K@Z @@ -2904,19 +2876,17 @@ EXPORTS ?allocate@?$allocator@UTransitionType@cctz@time_internal@absl@@@__1@std@@QEAAPEAUTransitionType@cctz@time_internal@absl@@_K@Z ?allocate@?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@QEAAPEAUViableSubstitution@strings_internal@absl@@_K@Z ?allocate@?$allocator@VFormatArgImpl@str_format_internal@absl@@@__1@std@@QEAAPEAVFormatArgImpl@str_format_internal@absl@@_K@Z - ?allocate@?$allocator_traits@V?$allocator@H@__1@std@@@absl@@SAPEAHAEAV?$allocator@H@__1@std@@_K@Z ?allocate@?$allocator_traits@V?$allocator@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@@__1@std@@SAPEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@AEAV?$allocator@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@@23@_K@Z ?allocate@?$allocator_traits@V?$allocator@PEAU?$__hash_node_base@PEAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PEAX@__1@std@@@__1@std@@@__1@std@@@__1@std@@SAPEAPEAU?$__hash_node_base@PEAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PEAX@__1@std@@@23@AEAV?$allocator@PEAU?$__hash_node_base@PEAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PEAX@__1@std@@@__1@std@@@23@_K@Z ?allocate@?$allocator_traits@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@__1@std@@SAPEAPEAUCordRep@cord_internal@absl@@AEAV?$allocator@PEAUCordRep@cord_internal@absl@@@23@_K@Z - ?allocate@?$allocator_traits@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@absl@@SAPEAPEAUCordRep@cord_internal@2@AEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@_K@Z ?allocate@?$allocator_traits@V?$allocator@PEAVCordzHandle@cord_internal@absl@@@__1@std@@@__1@std@@SAPEAPEAVCordzHandle@cord_internal@absl@@AEAV?$allocator@PEAVCordzHandle@cord_internal@absl@@@23@_K@Z - ?allocate@?$allocator_traits@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@absl@@SAPEAPEBUCordRep@cord_internal@2@AEAV?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@_K@Z + ?allocate@?$allocator_traits@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@__1@std@@SAPEAPEBUCordRep@cord_internal@absl@@AEAV?$allocator@PEBUCordRep@cord_internal@absl@@@23@_K@Z ?allocate@?$allocator_traits@V?$allocator@PEBVCordzHandle@cord_internal@absl@@@__1@std@@@__1@std@@SAPEAPEBVCordzHandle@cord_internal@absl@@AEAV?$allocator@PEBVCordzHandle@cord_internal@absl@@@23@_K@Z ?allocate@?$allocator_traits@V?$allocator@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@@__1@std@@SAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@AEAV?$allocator@PEBVImpl@time_zone@cctz@time_internal@absl@@@23@_K@Z ?allocate@?$allocator_traits@V?$allocator@U?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PEAX@__1@std@@@__1@std@@@__1@std@@SAPEAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PEAX@23@AEAV?$allocator@U?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PEAX@__1@std@@@23@_K@Z ?allocate@?$allocator_traits@V?$allocator@UConversionItem@ParsedFormatBase@str_format_internal@absl@@@__1@std@@@__1@std@@SAPEAUConversionItem@ParsedFormatBase@str_format_internal@absl@@AEAV?$allocator@UConversionItem@ParsedFormatBase@str_format_internal@absl@@@23@_K@Z - ?allocate@?$allocator_traits@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@absl@@SAPEAUPayload@status_internal@2@AEAV?$allocator@UPayload@status_internal@absl@@@__1@std@@_K@Z - ?allocate@?$allocator_traits@V?$allocator@USubRange@absl@@@__1@std@@@absl@@SAPEAUSubRange@2@AEAV?$allocator@USubRange@absl@@@__1@std@@_K@Z + ?allocate@?$allocator_traits@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@__1@std@@SAPEAUPayload@status_internal@absl@@AEAV?$allocator@UPayload@status_internal@absl@@@23@_K@Z + ?allocate@?$allocator_traits@V?$allocator@USubRange@absl@@@__1@std@@@__1@std@@SAPEAUSubRange@absl@@AEAV?$allocator@USubRange@absl@@@23@_K@Z ?allocate@?$allocator_traits@V?$allocator@UTransition@cctz@time_internal@absl@@@__1@std@@@__1@std@@SAPEAUTransition@cctz@time_internal@absl@@AEAV?$allocator@UTransition@cctz@time_internal@absl@@@23@_K@Z ?allocate@?$allocator_traits@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__1@std@@@__1@std@@SAPEAUTransitionType@cctz@time_internal@absl@@AEAV?$allocator@UTransitionType@cctz@time_internal@absl@@@23@_K@Z ?allocate@?$allocator_traits@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@SAPEAUViableSubstitution@strings_internal@absl@@AEAV?$allocator@UViableSubstitution@strings_internal@absl@@@23@_K@Z @@ -3090,19 +3060,17 @@ EXPORTS ?deallocate@?$allocator@UTransitionType@cctz@time_internal@absl@@@__1@std@@QEAAXPEAUTransitionType@cctz@time_internal@absl@@_K@Z ?deallocate@?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@QEAAXPEAUViableSubstitution@strings_internal@absl@@_K@Z ?deallocate@?$allocator@VFormatArgImpl@str_format_internal@absl@@@__1@std@@QEAAXPEAVFormatArgImpl@str_format_internal@absl@@_K@Z - ?deallocate@?$allocator_traits@V?$allocator@H@__1@std@@@absl@@SAXAEAV?$allocator@H@__1@std@@PEAH_K@Z ?deallocate@?$allocator_traits@V?$allocator@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@@23@PEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@_K@Z ?deallocate@?$allocator_traits@V?$allocator@PEAU?$__hash_node_base@PEAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PEAX@__1@std@@@__1@std@@@__1@std@@@__1@std@@SAXAEAV?$allocator@PEAU?$__hash_node_base@PEAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PEAX@__1@std@@@__1@std@@@23@PEAPEAU?$__hash_node_base@PEAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PEAX@__1@std@@@23@_K@Z ?deallocate@?$allocator_traits@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@PEAUCordRep@cord_internal@absl@@@23@PEAPEAUCordRep@cord_internal@absl@@_K@Z - ?deallocate@?$allocator_traits@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@absl@@SAXAEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@PEAPEAUCordRep@cord_internal@2@_K@Z ?deallocate@?$allocator_traits@V?$allocator@PEAVCordzHandle@cord_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@PEAVCordzHandle@cord_internal@absl@@@23@PEAPEAVCordzHandle@cord_internal@absl@@_K@Z - ?deallocate@?$allocator_traits@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@absl@@SAXAEAV?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@PEAPEBUCordRep@cord_internal@2@_K@Z + ?deallocate@?$allocator_traits@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@PEBUCordRep@cord_internal@absl@@@23@PEAPEBUCordRep@cord_internal@absl@@_K@Z ?deallocate@?$allocator_traits@V?$allocator@PEBVCordzHandle@cord_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@PEBVCordzHandle@cord_internal@absl@@@23@PEAPEBVCordzHandle@cord_internal@absl@@_K@Z ?deallocate@?$allocator_traits@V?$allocator@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@PEBVImpl@time_zone@cctz@time_internal@absl@@@23@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@_K@Z ?deallocate@?$allocator_traits@V?$allocator@U?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PEAX@__1@std@@@__1@std@@@__1@std@@SAXAEAV?$allocator@U?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PEAX@__1@std@@@23@PEAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PEAX@23@_K@Z ?deallocate@?$allocator_traits@V?$allocator@UConversionItem@ParsedFormatBase@str_format_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@UConversionItem@ParsedFormatBase@str_format_internal@absl@@@23@PEAUConversionItem@ParsedFormatBase@str_format_internal@absl@@_K@Z - ?deallocate@?$allocator_traits@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@absl@@SAXAEAV?$allocator@UPayload@status_internal@absl@@@__1@std@@PEAUPayload@status_internal@2@_K@Z - ?deallocate@?$allocator_traits@V?$allocator@USubRange@absl@@@__1@std@@@absl@@SAXAEAV?$allocator@USubRange@absl@@@__1@std@@PEAUSubRange@2@_K@Z + ?deallocate@?$allocator_traits@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@UPayload@status_internal@absl@@@23@PEAUPayload@status_internal@absl@@_K@Z + ?deallocate@?$allocator_traits@V?$allocator@USubRange@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@USubRange@absl@@@23@PEAUSubRange@absl@@_K@Z ?deallocate@?$allocator_traits@V?$allocator@UTransition@cctz@time_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@UTransition@cctz@time_internal@absl@@@23@PEAUTransition@cctz@time_internal@absl@@_K@Z ?deallocate@?$allocator_traits@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@UTransitionType@cctz@time_internal@absl@@@23@PEAUTransitionType@cctz@time_internal@absl@@_K@Z ?deallocate@?$allocator_traits@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@UViableSubstitution@strings_internal@absl@@@23@PEAUViableSubstitution@strings_internal@absl@@_K@Z diff --git a/third_party/abseil-cpp/symbols_x64_dbg.def b/third_party/abseil-cpp/symbols_x64_dbg.def index 8a40effb85..9113b310f0 100644 --- a/third_party/abseil-cpp/symbols_x64_dbg.def +++ b/third_party/abseil-cpp/symbols_x64_dbg.def @@ -260,25 +260,25 @@ EXPORTS ??$ArgumentToConv@_J@str_format_internal@absl@@YA?AW4FormatConversionCharSet@1@XZ ??$ArgumentToConv@_K@str_format_internal@absl@@YA?AW4FormatConversionCharSet@1@XZ ??$ArgumentToConv@_N@str_format_internal@absl@@YA?AW4FormatConversionCharSet@1@XZ - ??$AssignElements@PEAUPayload@status_internal@absl@@V?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__1@std@@V?$move_iterator@PEAUPayload@status_internal@absl@@@23@@inlined_vector_internal@3@_K@inlined_vector_internal@absl@@YAXPEAUPayload@status_internal@1@PEAV?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__1@std@@V?$move_iterator@PEAUPayload@status_internal@absl@@@23@@01@_K@Z + ??$AssignElements@V?$allocator@UPayload@status_internal@absl@@@__1@std@@V?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__1@std@@V?$move_iterator@PEAUPayload@status_internal@absl@@@23@@inlined_vector_internal@absl@@@inlined_vector_internal@absl@@YAXPEAUPayload@status_internal@1@AEAV?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__1@std@@V?$move_iterator@PEAUPayload@status_internal@absl@@@23@@01@_K@Z ??$Base64EscapeInternal@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@strings_internal@absl@@YAXPEBE_KPEAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@_NPEBD@Z ??$CallOnceImpl@A6AXXZ$$V@base_internal@absl@@YAXPEAU?$atomic@I@__1@std@@W4SchedulingMode@01@A6AXXZ@Z ??$CastAndCallFunction@$$CBU?$atomic@_N@__1@std@@@Condition@absl@@CA_NPEBV01@@Z ??$CastAndCallFunction@USynchEvent@absl@@@Condition@absl@@CA_NPEBV01@@Z ??$Compare@$0FE@$0FE@@strings_internal@absl@@YAHAEBV?$BigUnsigned@$0FE@@01@0@Z - ??$ConstructElements@V?$allocator@H@__1@std@@PEAHV?$IteratorValueAdapter@V?$allocator@H@__1@std@@V?$move_iterator@PEAH@23@@inlined_vector_internal@absl@@_K@inlined_vector_internal@absl@@YAXPEAV?$allocator@H@__1@std@@PEAHPEAV?$IteratorValueAdapter@V?$allocator@H@__1@std@@V?$move_iterator@PEAH@23@@01@_K@Z - ??$ConstructElements@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@PEAPEAUCordRep@cord_internal@absl@@V?$CopyValueAdapter@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@6@_K@inlined_vector_internal@absl@@YAXPEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@PEAPEAUCordRep@cord_internal@1@PEAV?$CopyValueAdapter@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@01@_K@Z - ??$ConstructElements@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@PEAPEAUCordRep@cord_internal@absl@@V?$IteratorValueAdapter@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@V?$move_iterator@PEAPEAUCordRep@cord_internal@absl@@@23@@inlined_vector_internal@6@_K@inlined_vector_internal@absl@@YAXPEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@PEAPEAUCordRep@cord_internal@1@PEAV?$IteratorValueAdapter@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@V?$move_iterator@PEAPEAUCordRep@cord_internal@absl@@@23@@01@_K@Z - ??$ConstructElements@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@PEAPEBUCordRep@cord_internal@absl@@V?$IteratorValueAdapter@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@V?$move_iterator@PEAPEBUCordRep@cord_internal@absl@@@23@@inlined_vector_internal@6@_K@inlined_vector_internal@absl@@YAXPEAV?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@PEAPEBUCordRep@cord_internal@1@PEAV?$IteratorValueAdapter@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@V?$move_iterator@PEAPEBUCordRep@cord_internal@absl@@@23@@01@_K@Z - ??$ConstructElements@V?$allocator@UPayload@status_internal@absl@@@__1@std@@PEAUPayload@status_internal@absl@@V?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__1@std@@PEBUPayload@status_internal@absl@@@inlined_vector_internal@6@_K@inlined_vector_internal@absl@@YAXPEAV?$allocator@UPayload@status_internal@absl@@@__1@std@@PEAUPayload@status_internal@1@PEAV?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__1@std@@PEBUPayload@status_internal@absl@@@01@_K@Z - ??$ConstructElements@V?$allocator@UPayload@status_internal@absl@@@__1@std@@PEAUPayload@status_internal@absl@@V?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__1@std@@V?$move_iterator@PEAUPayload@status_internal@absl@@@23@@inlined_vector_internal@6@_K@inlined_vector_internal@absl@@YAXPEAV?$allocator@UPayload@status_internal@absl@@@__1@std@@PEAUPayload@status_internal@1@PEAV?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__1@std@@V?$move_iterator@PEAUPayload@status_internal@absl@@@23@@01@_K@Z - ??$ConstructElements@V?$allocator@USubRange@absl@@@__1@std@@PEAUSubRange@absl@@V?$IteratorValueAdapter@V?$allocator@USubRange@absl@@@__1@std@@V?$move_iterator@PEAUSubRange@absl@@@23@@inlined_vector_internal@5@_K@inlined_vector_internal@absl@@YAXPEAV?$allocator@USubRange@absl@@@__1@std@@PEAUSubRange@1@PEAV?$IteratorValueAdapter@V?$allocator@USubRange@absl@@@__1@std@@V?$move_iterator@PEAUSubRange@absl@@@23@@01@_K@Z + ??$ConstructElements@V?$allocator@H@__1@std@@V?$IteratorValueAdapter@V?$allocator@H@__1@std@@V?$move_iterator@PEAH@23@@inlined_vector_internal@absl@@@inlined_vector_internal@absl@@YAXAEAV?$allocator@H@__1@std@@PEAHAEAV?$IteratorValueAdapter@V?$allocator@H@__1@std@@V?$move_iterator@PEAH@23@@01@_K@Z + ??$ConstructElements@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@V?$CopyValueAdapter@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@@inlined_vector_internal@absl@@YAXAEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@PEAPEAUCordRep@cord_internal@1@AEAV?$CopyValueAdapter@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@01@_K@Z + ??$ConstructElements@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@V?$IteratorValueAdapter@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@V?$move_iterator@PEAPEAUCordRep@cord_internal@absl@@@23@@inlined_vector_internal@absl@@@inlined_vector_internal@absl@@YAXAEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@PEAPEAUCordRep@cord_internal@1@AEAV?$IteratorValueAdapter@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@V?$move_iterator@PEAPEAUCordRep@cord_internal@absl@@@23@@01@_K@Z + ??$ConstructElements@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@V?$IteratorValueAdapter@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@V?$move_iterator@PEAPEBUCordRep@cord_internal@absl@@@23@@inlined_vector_internal@absl@@@inlined_vector_internal@absl@@YAXAEAV?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@PEAPEBUCordRep@cord_internal@1@AEAV?$IteratorValueAdapter@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@V?$move_iterator@PEAPEBUCordRep@cord_internal@absl@@@23@@01@_K@Z + ??$ConstructElements@V?$allocator@UPayload@status_internal@absl@@@__1@std@@V?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__1@std@@PEBUPayload@status_internal@absl@@@inlined_vector_internal@absl@@@inlined_vector_internal@absl@@YAXAEAV?$allocator@UPayload@status_internal@absl@@@__1@std@@PEAUPayload@status_internal@1@AEAV?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__1@std@@PEBUPayload@status_internal@absl@@@01@_K@Z + ??$ConstructElements@V?$allocator@UPayload@status_internal@absl@@@__1@std@@V?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__1@std@@V?$move_iterator@PEAUPayload@status_internal@absl@@@23@@inlined_vector_internal@absl@@@inlined_vector_internal@absl@@YAXAEAV?$allocator@UPayload@status_internal@absl@@@__1@std@@PEAUPayload@status_internal@1@AEAV?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__1@std@@V?$move_iterator@PEAUPayload@status_internal@absl@@@23@@01@_K@Z + ??$ConstructElements@V?$allocator@USubRange@absl@@@__1@std@@V?$IteratorValueAdapter@V?$allocator@USubRange@absl@@@__1@std@@V?$move_iterator@PEAUSubRange@absl@@@23@@inlined_vector_internal@absl@@@inlined_vector_internal@absl@@YAXAEAV?$allocator@USubRange@absl@@@__1@std@@PEAUSubRange@1@AEAV?$IteratorValueAdapter@V?$allocator@USubRange@absl@@@__1@std@@V?$move_iterator@PEAUSubRange@absl@@@23@@01@_K@Z ??$Convert@VFormatArgImpl@str_format_internal@absl@@@FormatArgImplFriend@str_format_internal@absl@@SA_NVFormatArgImpl@12@VFormatConversionSpecImpl@12@PEAVFormatSinkImpl@12@@Z - ??$DestroyElements@V?$allocator@H@__1@std@@PEAH_K@inlined_vector_internal@absl@@YAXPEAV?$allocator@H@__1@std@@PEAH_K@Z - ??$DestroyElements@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@PEAPEAUCordRep@cord_internal@absl@@_K@inlined_vector_internal@absl@@YAXPEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@PEAPEAUCordRep@cord_internal@1@_K@Z - ??$DestroyElements@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@PEAPEBUCordRep@cord_internal@absl@@_K@inlined_vector_internal@absl@@YAXPEAV?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@PEAPEBUCordRep@cord_internal@1@_K@Z - ??$DestroyElements@V?$allocator@UPayload@status_internal@absl@@@__1@std@@PEAUPayload@status_internal@absl@@_K@inlined_vector_internal@absl@@YAXPEAV?$allocator@UPayload@status_internal@absl@@@__1@std@@PEAUPayload@status_internal@1@_K@Z - ??$DestroyElements@V?$allocator@USubRange@absl@@@__1@std@@PEAUSubRange@absl@@_K@inlined_vector_internal@absl@@YAXPEAV?$allocator@USubRange@absl@@@__1@std@@PEAUSubRange@1@_K@Z + ??$DestroyElements@V?$allocator@H@__1@std@@@inlined_vector_internal@absl@@YAXAEAV?$allocator@H@__1@std@@PEAH_K@Z + ??$DestroyElements@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@YAXAEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@PEAPEAUCordRep@cord_internal@1@_K@Z + ??$DestroyElements@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@YAXAEAV?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@PEAPEBUCordRep@cord_internal@1@_K@Z + ??$DestroyElements@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@YAXAEAV?$allocator@UPayload@status_internal@absl@@@__1@std@@PEAUPayload@status_internal@1@_K@Z + ??$DestroyElements@V?$allocator@USubRange@absl@@@__1@std@@@inlined_vector_internal@absl@@YAXAEAV?$allocator@USubRange@absl@@@__1@std@@PEAUSubRange@1@_K@Z ??$Dispatch@C@FormatArgImpl@str_format_internal@absl@@CA_NTData@012@VFormatConversionSpecImpl@12@PEAX@Z ??$Dispatch@D@FormatArgImpl@str_format_internal@absl@@CA_NTData@012@VFormatConversionSpecImpl@12@PEAX@Z ??$Dispatch@E@FormatArgImpl@str_format_internal@absl@@CA_NTData@012@VFormatConversionSpecImpl@12@PEAX@Z @@ -556,16 +556,11 @@ EXPORTS ??$__upper_bound@AEAUByUnixTime@Transition@cctz@time_internal@absl@@PEBU2345@U2345@@__1@std@@YAPEBUTransition@cctz@time_internal@absl@@PEBU2345@0AEBU2345@AEAUByUnixTime@2345@@Z ??$addressof@$$CBU?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@@__1@std@@YAPEBU?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@01@AEBU201@@Z ??$addressof@$$CBU?$pair@$$CBV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@@__1@std@@YAPEBU?$pair@$$CBV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@01@AEBU201@@Z - ??$addressof@$$CBV?$allocator@UPayload@status_internal@absl@@@__1@std@@@__1@std@@YAPEBV?$allocator@UPayload@status_internal@absl@@@01@AEBV201@@Z ??$addressof@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@YAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@AEAPEBV23456@@Z ??$addressof@QEAUCordRep@cord_internal@absl@@@__1@std@@YAPEBQEAUCordRep@cord_internal@absl@@AEBQEAU234@@Z ??$addressof@U?$__hash_node_base@PEAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PEAX@__1@std@@@__1@std@@@__1@std@@YAPEAU?$__hash_node_base@PEAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PEAX@__1@std@@@01@AEAU201@@Z ??$addressof@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@@__1@std@@YAPEAU?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@01@AEAU201@@Z ??$addressof@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@@__1@std@@YAPEAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@01@AEAU201@@Z - ??$addressof@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@__1@std@@YAPEAV?$allocator@PEAUCordRep@cord_internal@absl@@@01@AEAV201@@Z - ??$addressof@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@__1@std@@YAPEAV?$allocator@PEBUCordRep@cord_internal@absl@@@01@AEAV201@@Z - ??$addressof@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@__1@std@@YAPEAV?$allocator@UPayload@status_internal@absl@@@01@AEAV201@@Z - ??$addressof@V?$allocator@USubRange@absl@@@__1@std@@@__1@std@@YAPEAV?$allocator@USubRange@absl@@@01@AEAV201@@Z ??$advance@PEBUTransition@cctz@time_internal@absl@@_J@__1@std@@YAXAEAPEBUTransition@cctz@time_internal@absl@@_J@Z ??$advance@PEBVFormatArgImpl@str_format_internal@absl@@_K@__1@std@@YAXAEAPEBVFormatArgImpl@str_format_internal@absl@@_K@Z ??$assign@PEBVFormatArgImpl@str_format_internal@absl@@@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__1@std@@@__1@std@@QEAAXPEBVFormatArgImpl@str_format_internal@absl@@0@Z @@ -576,23 +571,20 @@ EXPORTS ??$bit_cast@_K_J$0A@@absl@@YA_KAEB_J@Z ??$bit_width@I@absl@@YAII@Z ??$bit_width@_K@absl@@YA_K_K@Z - ??$construct@HAEBH@?$allocator_traits@V?$allocator@H@__1@std@@@absl@@SAXAEAV?$allocator@H@__1@std@@PEAHAEBH@Z - ??$construct@HH@?$allocator_traits@V?$allocator@H@__1@std@@@absl@@SAXAEAV?$allocator@H@__1@std@@PEAH$$QEAH@Z ??$construct@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@AEBQEAPEBV12345@@?$allocator@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@QEAAXPEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@AEBQEAPEBV34567@@Z ??$construct@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@AEBQEAPEBV12345@X@?$allocator_traits@V?$allocator@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@@12@PEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@AEBQEAPEBV45678@@Z ??$construct@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@PEAPEBV12345@@?$allocator@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@QEAAXPEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@$$QEAPEAPEBV34567@@Z ??$construct@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@PEAPEBV12345@X@?$allocator_traits@V?$allocator@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@@12@PEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@$$QEAPEAPEBV45678@@Z ??$construct@PEAUCordRep@cord_internal@absl@@AEBQEAU123@@?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@QEAAXPEAPEAUCordRep@cord_internal@absl@@AEBQEAU345@@Z - ??$construct@PEAUCordRep@cord_internal@absl@@AEBQEAU123@@?$allocator_traits@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@absl@@SAXAEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@PEAPEAUCordRep@cord_internal@1@AEBQEAU561@@Z ??$construct@PEAUCordRep@cord_internal@absl@@AEBQEAU123@X@?$allocator_traits@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@PEAUCordRep@cord_internal@absl@@@12@PEAPEAUCordRep@cord_internal@absl@@AEBQEAU456@@Z ??$construct@PEAUCordRep@cord_internal@absl@@PEAU123@@?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@QEAAXPEAPEAUCordRep@cord_internal@absl@@$$QEAPEAU345@@Z - ??$construct@PEAUCordRep@cord_internal@absl@@PEAU123@@?$allocator_traits@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@absl@@SAXAEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@PEAPEAUCordRep@cord_internal@1@$$QEAPEAU561@@Z + ??$construct@PEAUCordRep@cord_internal@absl@@PEAU123@X@?$allocator_traits@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@PEAUCordRep@cord_internal@absl@@@12@PEAPEAUCordRep@cord_internal@absl@@$$QEAPEAU456@@Z ??$construct@PEAVCordzHandle@cord_internal@absl@@AEBQEAV123@@?$allocator@PEAVCordzHandle@cord_internal@absl@@@__1@std@@QEAAXPEAPEAVCordzHandle@cord_internal@absl@@AEBQEAV345@@Z ??$construct@PEAVCordzHandle@cord_internal@absl@@AEBQEAV123@X@?$allocator_traits@V?$allocator@PEAVCordzHandle@cord_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@PEAVCordzHandle@cord_internal@absl@@@12@PEAPEAVCordzHandle@cord_internal@absl@@AEBQEAV456@@Z ??$construct@PEBUCordRep@cord_internal@absl@@AEBQEBU123@@?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@QEAAXPEAPEBUCordRep@cord_internal@absl@@AEBQEBU345@@Z - ??$construct@PEBUCordRep@cord_internal@absl@@AEBQEBU123@@?$allocator_traits@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@absl@@SAXAEAV?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@PEAPEBUCordRep@cord_internal@1@AEBQEBU561@@Z + ??$construct@PEBUCordRep@cord_internal@absl@@AEBQEBU123@X@?$allocator_traits@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@PEBUCordRep@cord_internal@absl@@@12@PEAPEBUCordRep@cord_internal@absl@@AEBQEBU456@@Z ??$construct@PEBUCordRep@cord_internal@absl@@PEBU123@@?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@QEAAXPEAPEBUCordRep@cord_internal@absl@@$$QEAPEBU345@@Z - ??$construct@PEBUCordRep@cord_internal@absl@@PEBU123@@?$allocator_traits@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@absl@@SAXAEAV?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@PEAPEBUCordRep@cord_internal@1@$$QEAPEBU561@@Z + ??$construct@PEBUCordRep@cord_internal@absl@@PEBU123@X@?$allocator_traits@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@PEBUCordRep@cord_internal@absl@@@12@PEAPEBUCordRep@cord_internal@absl@@$$QEAPEBU456@@Z ??$construct@PEBVCordzHandle@cord_internal@absl@@AEBQEBV123@@?$allocator@PEBVCordzHandle@cord_internal@absl@@@__1@std@@QEAAXPEAPEBVCordzHandle@cord_internal@absl@@AEBQEBV345@@Z ??$construct@PEBVCordzHandle@cord_internal@absl@@AEBQEBV123@X@?$allocator_traits@V?$allocator@PEBVCordzHandle@cord_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@PEBVCordzHandle@cord_internal@absl@@@12@PEAPEBVCordzHandle@cord_internal@absl@@AEBQEBV456@@Z ??$construct@PEBVImpl@time_zone@cctz@time_internal@absl@@AEBQEBV12345@@?$allocator@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@QEAAXPEAPEBVImpl@time_zone@cctz@time_internal@absl@@AEBQEBV34567@@Z @@ -602,11 +594,11 @@ EXPORTS ??$construct@UConversionItem@ParsedFormatBase@str_format_internal@absl@@U1234@@?$allocator@UConversionItem@ParsedFormatBase@str_format_internal@absl@@@__1@std@@QEAAXPEAUConversionItem@ParsedFormatBase@str_format_internal@absl@@$$QEAU3456@@Z ??$construct@UConversionItem@ParsedFormatBase@str_format_internal@absl@@U1234@X@?$allocator_traits@V?$allocator@UConversionItem@ParsedFormatBase@str_format_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@UConversionItem@ParsedFormatBase@str_format_internal@absl@@@12@PEAUConversionItem@ParsedFormatBase@str_format_internal@absl@@$$QEAU4567@@Z ??$construct@UPayload@status_internal@absl@@AEBU123@@?$allocator@UPayload@status_internal@absl@@@__1@std@@QEAAXPEAUPayload@status_internal@absl@@AEBU345@@Z - ??$construct@UPayload@status_internal@absl@@AEBU123@@?$allocator_traits@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@absl@@SAXAEAV?$allocator@UPayload@status_internal@absl@@@__1@std@@PEAUPayload@status_internal@1@AEBU561@@Z + ??$construct@UPayload@status_internal@absl@@AEBU123@X@?$allocator_traits@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@UPayload@status_internal@absl@@@12@PEAUPayload@status_internal@absl@@AEBU456@@Z ??$construct@UPayload@status_internal@absl@@U123@@?$allocator@UPayload@status_internal@absl@@@__1@std@@QEAAXPEAUPayload@status_internal@absl@@$$QEAU345@@Z - ??$construct@UPayload@status_internal@absl@@U123@@?$allocator_traits@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@absl@@SAXAEAV?$allocator@UPayload@status_internal@absl@@@__1@std@@PEAUPayload@status_internal@1@$$QEAU561@@Z + ??$construct@UPayload@status_internal@absl@@U123@X@?$allocator_traits@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@UPayload@status_internal@absl@@@12@PEAUPayload@status_internal@absl@@$$QEAU456@@Z ??$construct@USubRange@absl@@U12@@?$allocator@USubRange@absl@@@__1@std@@QEAAXPEAUSubRange@absl@@$$QEAU34@@Z - ??$construct@USubRange@absl@@U12@@?$allocator_traits@V?$allocator@USubRange@absl@@@__1@std@@@absl@@SAXAEAV?$allocator@USubRange@absl@@@__1@std@@PEAUSubRange@1@$$QEAU51@@Z + ??$construct@USubRange@absl@@U12@X@?$allocator_traits@V?$allocator@USubRange@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@USubRange@absl@@@12@PEAUSubRange@absl@@$$QEAU45@@Z ??$construct@UTransition@cctz@time_internal@absl@@$$V@?$allocator@UTransition@cctz@time_internal@absl@@@__1@std@@QEAAXPEAUTransition@cctz@time_internal@absl@@@Z ??$construct@UTransition@cctz@time_internal@absl@@$$VX@?$allocator_traits@V?$allocator@UTransition@cctz@time_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@UTransition@cctz@time_internal@absl@@@12@PEAUTransition@cctz@time_internal@absl@@@Z ??$construct@UTransition@cctz@time_internal@absl@@AEBU1234@@?$allocator@UTransition@cctz@time_internal@absl@@@__1@std@@QEAAXPEAUTransition@cctz@time_internal@absl@@AEBU3456@@Z @@ -620,39 +612,23 @@ EXPORTS ??$construct@UViableSubstitution@strings_internal@absl@@AEAVstring_view@3@AEBV43@AEA_K@?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@QEAAXPEAUViableSubstitution@strings_internal@absl@@AEAVstring_view@5@AEBV65@AEA_K@Z ??$construct@UViableSubstitution@strings_internal@absl@@AEAVstring_view@3@AEBV43@AEA_KX@?$allocator_traits@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@UViableSubstitution@strings_internal@absl@@@12@PEAUViableSubstitution@strings_internal@absl@@AEAVstring_view@6@AEBV76@AEA_K@Z ??$construct@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@?$optional_data_base@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@optional_internal@absl@@IEAAX$$QEAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z - ??$construct_impl@V?$allocator@H@__1@std@@AEAPEAHAEBH@?$allocator_traits@V?$allocator@H@__1@std@@@absl@@CAXHAEAV?$allocator@H@__1@std@@AEAPEAHAEBH@Z - ??$construct_impl@V?$allocator@H@__1@std@@AEAPEAHH@?$allocator_traits@V?$allocator@H@__1@std@@@absl@@CAXHAEAV?$allocator@H@__1@std@@AEAPEAH$$QEAH@Z - ??$construct_impl@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@AEAPEAPEAUCordRep@cord_internal@absl@@AEBQEAU456@@?$allocator_traits@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@absl@@CAXHAEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@AEAPEAPEAUCordRep@cord_internal@1@AEBQEAU561@@Z - ??$construct_impl@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@AEAPEAPEAUCordRep@cord_internal@absl@@PEAU456@@?$allocator_traits@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@absl@@CAXHAEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@AEAPEAPEAUCordRep@cord_internal@1@$$QEAPEAU561@@Z - ??$construct_impl@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@AEAPEAPEBUCordRep@cord_internal@absl@@AEBQEBU456@@?$allocator_traits@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@absl@@CAXHAEAV?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@AEAPEAPEBUCordRep@cord_internal@1@AEBQEBU561@@Z - ??$construct_impl@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@AEAPEAPEBUCordRep@cord_internal@absl@@PEBU456@@?$allocator_traits@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@absl@@CAXHAEAV?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@AEAPEAPEBUCordRep@cord_internal@1@$$QEAPEBU561@@Z - ??$construct_impl@V?$allocator@UPayload@status_internal@absl@@@__1@std@@AEAPEAUPayload@status_internal@absl@@AEBU456@@?$allocator_traits@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@absl@@CAXHAEAV?$allocator@UPayload@status_internal@absl@@@__1@std@@AEAPEAUPayload@status_internal@1@AEBU561@@Z - ??$construct_impl@V?$allocator@UPayload@status_internal@absl@@@__1@std@@AEAPEAUPayload@status_internal@absl@@U456@@?$allocator_traits@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@absl@@CAXHAEAV?$allocator@UPayload@status_internal@absl@@@__1@std@@AEAPEAUPayload@status_internal@1@$$QEAU561@@Z - ??$construct_impl@V?$allocator@USubRange@absl@@@__1@std@@AEAPEAUSubRange@absl@@U45@@?$allocator_traits@V?$allocator@USubRange@absl@@@__1@std@@@absl@@CAXHAEAV?$allocator@USubRange@absl@@@__1@std@@AEAPEAUSubRange@1@$$QEAU51@@Z ??$copy@PEBVFormatArgImpl@str_format_internal@absl@@PEAV123@@__1@std@@YAPEAVFormatArgImpl@str_format_internal@absl@@PEBV234@0PEAV234@@Z ??$countl_zero@I@absl@@YAHI@Z ??$countl_zero@_K@absl@@YAH_K@Z ??$countr_zero@I@absl@@YAHI@Z - ??$destroy@H@?$allocator_traits@V?$allocator@H@__1@std@@@absl@@SAXAEAV?$allocator@H@__1@std@@PEAH@Z ??$destroy@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@X@?$allocator_traits@V?$allocator@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@@12@PEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@@Z - ??$destroy@PEAUCordRep@cord_internal@absl@@@?$allocator_traits@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@absl@@SAXAEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@PEAPEAUCordRep@cord_internal@1@@Z ??$destroy@PEAUCordRep@cord_internal@absl@@X@?$allocator_traits@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@PEAUCordRep@cord_internal@absl@@@12@PEAPEAUCordRep@cord_internal@absl@@@Z ??$destroy@PEAVCordzHandle@cord_internal@absl@@X@?$allocator_traits@V?$allocator@PEAVCordzHandle@cord_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@PEAVCordzHandle@cord_internal@absl@@@12@PEAPEAVCordzHandle@cord_internal@absl@@@Z - ??$destroy@PEBUCordRep@cord_internal@absl@@@?$allocator_traits@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@absl@@SAXAEAV?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@PEAPEBUCordRep@cord_internal@1@@Z + ??$destroy@PEBUCordRep@cord_internal@absl@@X@?$allocator_traits@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@PEBUCordRep@cord_internal@absl@@@12@PEAPEBUCordRep@cord_internal@absl@@@Z ??$destroy@PEBVCordzHandle@cord_internal@absl@@X@?$allocator_traits@V?$allocator@PEBVCordzHandle@cord_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@PEBVCordzHandle@cord_internal@absl@@@12@PEAPEBVCordzHandle@cord_internal@absl@@@Z ??$destroy@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@XX@?$allocator_traits@V?$allocator@U?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PEAX@__1@std@@@__1@std@@@__1@std@@SAXAEAV?$allocator@U?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PEAX@__1@std@@@12@PEAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@12@@Z ??$destroy@UConversionItem@ParsedFormatBase@str_format_internal@absl@@X@?$allocator_traits@V?$allocator@UConversionItem@ParsedFormatBase@str_format_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@UConversionItem@ParsedFormatBase@str_format_internal@absl@@@12@PEAUConversionItem@ParsedFormatBase@str_format_internal@absl@@@Z - ??$destroy@UPayload@status_internal@absl@@@?$allocator_traits@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@absl@@SAXAEAV?$allocator@UPayload@status_internal@absl@@@__1@std@@PEAUPayload@status_internal@1@@Z - ??$destroy@USubRange@absl@@@?$allocator_traits@V?$allocator@USubRange@absl@@@__1@std@@@absl@@SAXAEAV?$allocator@USubRange@absl@@@__1@std@@PEAUSubRange@1@@Z + ??$destroy@UPayload@status_internal@absl@@X@?$allocator_traits@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@UPayload@status_internal@absl@@@12@PEAUPayload@status_internal@absl@@@Z + ??$destroy@USubRange@absl@@X@?$allocator_traits@V?$allocator@USubRange@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@USubRange@absl@@@12@PEAUSubRange@absl@@@Z ??$destroy@UTransition@cctz@time_internal@absl@@X@?$allocator_traits@V?$allocator@UTransition@cctz@time_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@UTransition@cctz@time_internal@absl@@@12@PEAUTransition@cctz@time_internal@absl@@@Z ??$destroy@UTransitionType@cctz@time_internal@absl@@X@?$allocator_traits@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@UTransitionType@cctz@time_internal@absl@@@12@PEAUTransitionType@cctz@time_internal@absl@@@Z ??$destroy@UViableSubstitution@strings_internal@absl@@X@?$allocator_traits@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@UViableSubstitution@strings_internal@absl@@@12@PEAUViableSubstitution@strings_internal@absl@@@Z ??$destroy@VFormatArgImpl@str_format_internal@absl@@X@?$allocator_traits@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@12@PEAVFormatArgImpl@str_format_internal@absl@@@Z - ??$destroy_impl@V?$allocator@H@__1@std@@H@?$allocator_traits@V?$allocator@H@__1@std@@@absl@@CAXHAEAV?$allocator@H@__1@std@@PEAH@Z - ??$destroy_impl@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@PEAUCordRep@cord_internal@absl@@@?$allocator_traits@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@absl@@CAXHAEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@PEAPEAUCordRep@cord_internal@1@@Z - ??$destroy_impl@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@PEBUCordRep@cord_internal@absl@@@?$allocator_traits@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@absl@@CAXHAEAV?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@PEAPEBUCordRep@cord_internal@1@@Z - ??$destroy_impl@V?$allocator@UPayload@status_internal@absl@@@__1@std@@UPayload@status_internal@absl@@@?$allocator_traits@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@absl@@CAXHAEAV?$allocator@UPayload@status_internal@absl@@@__1@std@@PEAUPayload@status_internal@1@@Z - ??$destroy_impl@V?$allocator@USubRange@absl@@@__1@std@@USubRange@absl@@@?$allocator_traits@V?$allocator@USubRange@absl@@@__1@std@@@absl@@CAXHAEAV?$allocator@USubRange@absl@@@__1@std@@PEAUSubRange@1@@Z ??$distance@PEBUPayload@status_internal@absl@@@__1@std@@YA_JPEBUPayload@status_internal@absl@@0@Z ??$distance@PEBUTransition@cctz@time_internal@absl@@@__1@std@@YA_JPEBUTransition@cctz@time_internal@absl@@0@Z ??$distance@PEBVFormatArgImpl@str_format_internal@absl@@@__1@std@@YA_JPEBVFormatArgImpl@str_format_internal@absl@@0@Z @@ -675,12 +651,8 @@ EXPORTS ??$find_first_non_full@X@container_internal@absl@@YA?AUFindInfo@01@PEBW4ctrl_t@01@_K1@Z ??$forward@$$T@absl@@YA$$QEA$$TAEA$$T@Z ??$forward@AEAI@absl@@YAAEAIAEAI@Z - ??$forward@AEAPEAPEAUCordRep@cord_internal@absl@@@__1@std@@YAAEAPEAPEAUCordRep@cord_internal@absl@@AEAPEAPEAU234@@Z - ??$forward@AEAPEAPEBUCordRep@cord_internal@absl@@@__1@std@@YAAEAPEAPEBUCordRep@cord_internal@absl@@AEAPEAPEBU234@@Z ??$forward@AEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@YAAEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@AEAPEAPEBV23456@@Z ??$forward@AEAPEAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PEAX@__1@std@@@__1@std@@YAAEAPEAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PEAX@01@AEAPEAU201@@Z - ??$forward@AEAPEAUPayload@status_internal@absl@@@__1@std@@YAAEAPEAUPayload@status_internal@absl@@AEAPEAU234@@Z - ??$forward@AEAPEAUSubRange@absl@@@__1@std@@YAAEAPEAUSubRange@absl@@AEAPEAU23@@Z ??$forward@AEAPEAUThreadIdentity@base_internal@absl@@@__1@std@@YAAEAPEAUThreadIdentity@base_internal@absl@@AEAPEAU234@@Z ??$forward@AEAPEAV?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__1@std@@@absl@@@__1@std@@YAAEAPEAV?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__1@std@@@absl@@AEAPEAV23@@Z ??$forward@AEAPEAVTimeZoneIf@cctz@time_internal@absl@@@__1@std@@YAAEAPEAVTimeZoneIf@cctz@time_internal@absl@@AEAPEAV2345@@Z @@ -842,11 +814,11 @@ EXPORTS ??$swap@UViableSubstitution@strings_internal@absl@@@__1@std@@YAXAEAUViableSubstitution@strings_internal@absl@@0@Z ??$upper_bound@PEBUTransition@cctz@time_internal@absl@@U1234@UByCivilTime@1234@@__1@std@@YAPEBUTransition@cctz@time_internal@absl@@PEBU2345@0AEBU2345@UByCivilTime@2345@@Z ??$upper_bound@PEBUTransition@cctz@time_internal@absl@@U1234@UByUnixTime@1234@@__1@std@@YAPEBUTransition@cctz@time_internal@absl@@PEBU2345@0AEBU2345@UByUnixTime@2345@@Z - ??0?$AllocationTransaction@V?$allocator@H@__1@std@@@inlined_vector_internal@absl@@QEAA@PEAV?$allocator@H@__1@std@@@Z - ??0?$AllocationTransaction@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAA@PEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@Z - ??0?$AllocationTransaction@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAA@PEAV?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@Z - ??0?$AllocationTransaction@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAA@PEAV?$allocator@UPayload@status_internal@absl@@@__1@std@@@Z - ??0?$AllocationTransaction@V?$allocator@USubRange@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAA@PEAV?$allocator@USubRange@absl@@@__1@std@@@Z + ??0?$AllocationTransaction@V?$allocator@H@__1@std@@@inlined_vector_internal@absl@@QEAA@AEAV?$allocator@H@__1@std@@@Z + ??0?$AllocationTransaction@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAA@AEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@Z + ??0?$AllocationTransaction@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAA@AEAV?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@Z + ??0?$AllocationTransaction@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAA@AEAV?$allocator@UPayload@status_internal@absl@@@__1@std@@@Z + ??0?$AllocationTransaction@V?$allocator@USubRange@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAA@AEAV?$allocator@USubRange@absl@@@__1@std@@@Z ??0?$BigUnsigned@$03@strings_internal@absl@@QEAA@Vstring_view@2@@Z ??0?$BigUnsigned@$03@strings_internal@absl@@QEAA@XZ ??0?$BigUnsigned@$03@strings_internal@absl@@QEAA@_K@Z @@ -854,7 +826,7 @@ EXPORTS ??0?$BigUnsigned@$0FE@@strings_internal@absl@@QEAA@XZ ??0?$BigUnsigned@$0FE@@strings_internal@absl@@QEAA@_K@Z ??0?$BitMask@I$0BA@$0A@@container_internal@absl@@QEAA@I@Z - ??0?$CopyValueAdapter@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAA@AEBQEAUCordRep@cord_internal@2@@Z + ??0?$CopyValueAdapter@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAA@PEBQEAUCordRep@cord_internal@2@@Z ??0?$FixedArray@PEAUCordRep@cord_internal@absl@@$0?0V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@absl@@QEAA@_KAEBV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@Z ??0?$InlinedVector@H$0CP@V?$allocator@H@__1@std@@@absl@@QEAA@XZ ??0?$InlinedVector@PEAUCordRep@cord_internal@absl@@$01V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@absl@@QEAA@XZ @@ -1554,12 +1526,12 @@ EXPORTS ?AbslParseFlag@absl@@YA_NVstring_view@1@PEAVTime@1@PEAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z ?AbslUnparseFlag@absl@@YA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@VDuration@1@@Z ?AbslUnparseFlag@absl@@YA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@VTime@1@@Z - ?AcquireAllocatedData@?$Storage@H$0CP@V?$allocator@H@__1@std@@@inlined_vector_internal@absl@@QEAAXPEAV?$AllocationTransaction@V?$allocator@H@__1@std@@@23@@Z - ?AcquireAllocatedData@?$Storage@PEAUCordRep@cord_internal@absl@@$01V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAXPEAV?$AllocationTransaction@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@23@@Z - ?AcquireAllocatedData@?$Storage@PEAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAXPEAV?$AllocationTransaction@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@23@@Z - ?AcquireAllocatedData@?$Storage@PEBUCordRep@cord_internal@absl@@$0CP@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAXPEAV?$AllocationTransaction@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@23@@Z - ?AcquireAllocatedData@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAXPEAV?$AllocationTransaction@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@23@@Z - ?AcquireAllocatedData@?$Storage@USubRange@absl@@$0CP@V?$allocator@USubRange@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAXPEAV?$AllocationTransaction@V?$allocator@USubRange@absl@@@__1@std@@@23@@Z + ?AcquireAllocatedData@?$Storage@H$0CP@V?$allocator@H@__1@std@@@inlined_vector_internal@absl@@QEAAXAEAV?$AllocationTransaction@V?$allocator@H@__1@std@@@23@@Z + ?AcquireAllocatedData@?$Storage@PEAUCordRep@cord_internal@absl@@$01V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAXAEAV?$AllocationTransaction@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@23@@Z + ?AcquireAllocatedData@?$Storage@PEAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAXAEAV?$AllocationTransaction@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@23@@Z + ?AcquireAllocatedData@?$Storage@PEBUCordRep@cord_internal@absl@@$0CP@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAXAEAV?$AllocationTransaction@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@23@@Z + ?AcquireAllocatedData@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAXAEAV?$AllocationTransaction@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@23@@Z + ?AcquireAllocatedData@?$Storage@USubRange@absl@@$0CP@V?$allocator@USubRange@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAXAEAV?$AllocationTransaction@V?$allocator@USubRange@absl@@@__1@std@@@23@@Z ?Add@Filler@CordRepRing@cord_internal@absl@@QEAAXPEAUCordRep@34@_K1@Z ?AddDataOffset@CordRepRing@cord_internal@absl@@AEAAXI_K@Z ?AddNode@CordForest@absl@@AEAAXPEAUCordRep@cord_internal@2@@Z @@ -1687,13 +1659,13 @@ EXPORTS ?ComputeCapacity@?$Storage@PEAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@SA_K_K0@Z ?ComputeCapacity@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@SA_K_K0@Z ?ConcatNodes@CordForest@absl@@QEAAPEAUCordRep@cord_internal@2@XZ - ?ConstructNext@?$CopyValueAdapter@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAXPEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@PEAPEAUCordRep@cord_internal@3@@Z - ?ConstructNext@?$IteratorValueAdapter@V?$allocator@H@__1@std@@V?$move_iterator@PEAH@23@@inlined_vector_internal@absl@@QEAAXPEAV?$allocator@H@__1@std@@PEAH@Z - ?ConstructNext@?$IteratorValueAdapter@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@V?$move_iterator@PEAPEAUCordRep@cord_internal@absl@@@23@@inlined_vector_internal@absl@@QEAAXPEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@PEAPEAUCordRep@cord_internal@3@@Z - ?ConstructNext@?$IteratorValueAdapter@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@V?$move_iterator@PEAPEBUCordRep@cord_internal@absl@@@23@@inlined_vector_internal@absl@@QEAAXPEAV?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@PEAPEBUCordRep@cord_internal@3@@Z - ?ConstructNext@?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__1@std@@PEBUPayload@status_internal@absl@@@inlined_vector_internal@absl@@QEAAXPEAV?$allocator@UPayload@status_internal@absl@@@__1@std@@PEAUPayload@status_internal@3@@Z - ?ConstructNext@?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__1@std@@V?$move_iterator@PEAUPayload@status_internal@absl@@@23@@inlined_vector_internal@absl@@QEAAXPEAV?$allocator@UPayload@status_internal@absl@@@__1@std@@PEAUPayload@status_internal@3@@Z - ?ConstructNext@?$IteratorValueAdapter@V?$allocator@USubRange@absl@@@__1@std@@V?$move_iterator@PEAUSubRange@absl@@@23@@inlined_vector_internal@absl@@QEAAXPEAV?$allocator@USubRange@absl@@@__1@std@@PEAUSubRange@3@@Z + ?ConstructNext@?$CopyValueAdapter@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAXAEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@PEAPEAUCordRep@cord_internal@3@@Z + ?ConstructNext@?$IteratorValueAdapter@V?$allocator@H@__1@std@@V?$move_iterator@PEAH@23@@inlined_vector_internal@absl@@QEAAXAEAV?$allocator@H@__1@std@@PEAH@Z + ?ConstructNext@?$IteratorValueAdapter@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@V?$move_iterator@PEAPEAUCordRep@cord_internal@absl@@@23@@inlined_vector_internal@absl@@QEAAXAEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@PEAPEAUCordRep@cord_internal@3@@Z + ?ConstructNext@?$IteratorValueAdapter@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@V?$move_iterator@PEAPEBUCordRep@cord_internal@absl@@@23@@inlined_vector_internal@absl@@QEAAXAEAV?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@PEAPEBUCordRep@cord_internal@3@@Z + ?ConstructNext@?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__1@std@@PEBUPayload@status_internal@absl@@@inlined_vector_internal@absl@@QEAAXAEAV?$allocator@UPayload@status_internal@absl@@@__1@std@@PEAUPayload@status_internal@3@@Z + ?ConstructNext@?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__1@std@@V?$move_iterator@PEAUPayload@status_internal@absl@@@23@@inlined_vector_internal@absl@@QEAAXAEAV?$allocator@UPayload@status_internal@absl@@@__1@std@@PEAUPayload@status_internal@3@@Z + ?ConstructNext@?$IteratorValueAdapter@V?$allocator@USubRange@absl@@@__1@std@@V?$move_iterator@PEAUSubRange@absl@@@23@@inlined_vector_internal@absl@@QEAAXAEAV?$allocator@USubRange@absl@@@__1@std@@PEAUSubRange@3@@Z ?Consume@cord_internal@absl@@YAXPEAUCordRep@12@V?$FunctionRef@$$A6AXPEAUCordRep@cord_internal@absl@@_K1@Z@2@@Z ?ConsumePrefix@absl@@YA_NPEAVstring_view@1@V21@@Z ?ConsumeUnboundConversion@str_format_internal@absl@@YAPEBDPEBD0PEAUUnboundConversion@12@PEAH@Z @@ -1928,13 +1900,6 @@ EXPORTS ?FromUnixDuration@time_internal@absl@@YA?AVTime@2@VDuration@2@@Z ?FromUnixSeconds@cctz@time_internal@absl@@YA?AV?$time_point@Vsystem_clock@chrono@__1@std@@V?$duration@_JV?$ratio@$00$00@__1@std@@@234@@chrono@__1@std@@_J@Z ?Get@RefcountAndFlags@cord_internal@absl@@QEBAHXZ - ?GetAllocPtr@?$Storage@H$0CP@V?$allocator@H@__1@std@@@inlined_vector_internal@absl@@QEAAPEAV?$allocator@H@__1@std@@XZ - ?GetAllocPtr@?$Storage@PEAUCordRep@cord_internal@absl@@$01V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAPEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@XZ - ?GetAllocPtr@?$Storage@PEAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAPEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@XZ - ?GetAllocPtr@?$Storage@PEBUCordRep@cord_internal@absl@@$0CP@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAPEAV?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@XZ - ?GetAllocPtr@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAPEAV?$allocator@UPayload@status_internal@absl@@@__1@std@@XZ - ?GetAllocPtr@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEBAPEBV?$allocator@UPayload@status_internal@absl@@@__1@std@@XZ - ?GetAllocPtr@?$Storage@USubRange@absl@@$0CP@V?$allocator@USubRange@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAPEAV?$allocator@USubRange@absl@@@__1@std@@XZ ?GetAllocatedCapacity@?$Storage@H$0CP@V?$allocator@H@__1@std@@@inlined_vector_internal@absl@@QEBA_KXZ ?GetAllocatedCapacity@?$Storage@PEAUCordRep@cord_internal@absl@@$01V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEBA_KXZ ?GetAllocatedCapacity@?$Storage@PEAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEBA_KXZ @@ -1953,6 +1918,13 @@ EXPORTS ?GetAllocator@?$AllocationTransaction@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAAEAV?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@XZ ?GetAllocator@?$AllocationTransaction@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAAEAV?$allocator@UPayload@status_internal@absl@@@__1@std@@XZ ?GetAllocator@?$AllocationTransaction@V?$allocator@USubRange@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAAEAV?$allocator@USubRange@absl@@@__1@std@@XZ + ?GetAllocator@?$Storage@H$0CP@V?$allocator@H@__1@std@@@inlined_vector_internal@absl@@QEAAAEAV?$allocator@H@__1@std@@XZ + ?GetAllocator@?$Storage@PEAUCordRep@cord_internal@absl@@$01V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAAEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@XZ + ?GetAllocator@?$Storage@PEAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAAEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@XZ + ?GetAllocator@?$Storage@PEBUCordRep@cord_internal@absl@@$0CP@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAAEAV?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@XZ + ?GetAllocator@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAAEAV?$allocator@UPayload@status_internal@absl@@@__1@std@@XZ + ?GetAllocator@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEBAAEBV?$allocator@UPayload@status_internal@absl@@@__1@std@@XZ + ?GetAllocator@?$Storage@USubRange@absl@@$0CP@V?$allocator@USubRange@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAAEAV?$allocator@USubRange@absl@@@__1@std@@XZ ?GetAppendBuffer@CordRepBtree@cord_internal@absl@@QEAA?AV?$Span@D@3@_K@Z ?GetAppendBuffer@CordRepRing@cord_internal@absl@@QEAA?AV?$Span@D@3@_K@Z ?GetAppendBufferSlow@CordRepBtree@cord_internal@absl@@AEAA?AV?$Span@D@3@_K@Z @@ -2904,19 +2876,17 @@ EXPORTS ?allocate@?$allocator@UTransitionType@cctz@time_internal@absl@@@__1@std@@QEAAPEAUTransitionType@cctz@time_internal@absl@@_K@Z ?allocate@?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@QEAAPEAUViableSubstitution@strings_internal@absl@@_K@Z ?allocate@?$allocator@VFormatArgImpl@str_format_internal@absl@@@__1@std@@QEAAPEAVFormatArgImpl@str_format_internal@absl@@_K@Z - ?allocate@?$allocator_traits@V?$allocator@H@__1@std@@@absl@@SAPEAHAEAV?$allocator@H@__1@std@@_K@Z ?allocate@?$allocator_traits@V?$allocator@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@@__1@std@@SAPEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@AEAV?$allocator@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@@23@_K@Z ?allocate@?$allocator_traits@V?$allocator@PEAU?$__hash_node_base@PEAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PEAX@__1@std@@@__1@std@@@__1@std@@@__1@std@@SAPEAPEAU?$__hash_node_base@PEAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PEAX@__1@std@@@23@AEAV?$allocator@PEAU?$__hash_node_base@PEAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PEAX@__1@std@@@__1@std@@@23@_K@Z ?allocate@?$allocator_traits@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@__1@std@@SAPEAPEAUCordRep@cord_internal@absl@@AEAV?$allocator@PEAUCordRep@cord_internal@absl@@@23@_K@Z - ?allocate@?$allocator_traits@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@absl@@SAPEAPEAUCordRep@cord_internal@2@AEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@_K@Z ?allocate@?$allocator_traits@V?$allocator@PEAVCordzHandle@cord_internal@absl@@@__1@std@@@__1@std@@SAPEAPEAVCordzHandle@cord_internal@absl@@AEAV?$allocator@PEAVCordzHandle@cord_internal@absl@@@23@_K@Z - ?allocate@?$allocator_traits@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@absl@@SAPEAPEBUCordRep@cord_internal@2@AEAV?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@_K@Z + ?allocate@?$allocator_traits@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@__1@std@@SAPEAPEBUCordRep@cord_internal@absl@@AEAV?$allocator@PEBUCordRep@cord_internal@absl@@@23@_K@Z ?allocate@?$allocator_traits@V?$allocator@PEBVCordzHandle@cord_internal@absl@@@__1@std@@@__1@std@@SAPEAPEBVCordzHandle@cord_internal@absl@@AEAV?$allocator@PEBVCordzHandle@cord_internal@absl@@@23@_K@Z ?allocate@?$allocator_traits@V?$allocator@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@@__1@std@@SAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@AEAV?$allocator@PEBVImpl@time_zone@cctz@time_internal@absl@@@23@_K@Z ?allocate@?$allocator_traits@V?$allocator@U?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PEAX@__1@std@@@__1@std@@@__1@std@@SAPEAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PEAX@23@AEAV?$allocator@U?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PEAX@__1@std@@@23@_K@Z ?allocate@?$allocator_traits@V?$allocator@UConversionItem@ParsedFormatBase@str_format_internal@absl@@@__1@std@@@__1@std@@SAPEAUConversionItem@ParsedFormatBase@str_format_internal@absl@@AEAV?$allocator@UConversionItem@ParsedFormatBase@str_format_internal@absl@@@23@_K@Z - ?allocate@?$allocator_traits@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@absl@@SAPEAUPayload@status_internal@2@AEAV?$allocator@UPayload@status_internal@absl@@@__1@std@@_K@Z - ?allocate@?$allocator_traits@V?$allocator@USubRange@absl@@@__1@std@@@absl@@SAPEAUSubRange@2@AEAV?$allocator@USubRange@absl@@@__1@std@@_K@Z + ?allocate@?$allocator_traits@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@__1@std@@SAPEAUPayload@status_internal@absl@@AEAV?$allocator@UPayload@status_internal@absl@@@23@_K@Z + ?allocate@?$allocator_traits@V?$allocator@USubRange@absl@@@__1@std@@@__1@std@@SAPEAUSubRange@absl@@AEAV?$allocator@USubRange@absl@@@23@_K@Z ?allocate@?$allocator_traits@V?$allocator@UTransition@cctz@time_internal@absl@@@__1@std@@@__1@std@@SAPEAUTransition@cctz@time_internal@absl@@AEAV?$allocator@UTransition@cctz@time_internal@absl@@@23@_K@Z ?allocate@?$allocator_traits@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__1@std@@@__1@std@@SAPEAUTransitionType@cctz@time_internal@absl@@AEAV?$allocator@UTransitionType@cctz@time_internal@absl@@@23@_K@Z ?allocate@?$allocator_traits@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@SAPEAUViableSubstitution@strings_internal@absl@@AEAV?$allocator@UViableSubstitution@strings_internal@absl@@@23@_K@Z @@ -3090,19 +3060,17 @@ EXPORTS ?deallocate@?$allocator@UTransitionType@cctz@time_internal@absl@@@__1@std@@QEAAXPEAUTransitionType@cctz@time_internal@absl@@_K@Z ?deallocate@?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@QEAAXPEAUViableSubstitution@strings_internal@absl@@_K@Z ?deallocate@?$allocator@VFormatArgImpl@str_format_internal@absl@@@__1@std@@QEAAXPEAVFormatArgImpl@str_format_internal@absl@@_K@Z - ?deallocate@?$allocator_traits@V?$allocator@H@__1@std@@@absl@@SAXAEAV?$allocator@H@__1@std@@PEAH_K@Z ?deallocate@?$allocator_traits@V?$allocator@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@@23@PEAPEAPEBVImpl@time_zone@cctz@time_internal@absl@@_K@Z ?deallocate@?$allocator_traits@V?$allocator@PEAU?$__hash_node_base@PEAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PEAX@__1@std@@@__1@std@@@__1@std@@@__1@std@@SAXAEAV?$allocator@PEAU?$__hash_node_base@PEAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PEAX@__1@std@@@__1@std@@@23@PEAPEAU?$__hash_node_base@PEAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PEAX@__1@std@@@23@_K@Z ?deallocate@?$allocator_traits@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@PEAUCordRep@cord_internal@absl@@@23@PEAPEAUCordRep@cord_internal@absl@@_K@Z - ?deallocate@?$allocator_traits@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@absl@@SAXAEAV?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@PEAPEAUCordRep@cord_internal@2@_K@Z ?deallocate@?$allocator_traits@V?$allocator@PEAVCordzHandle@cord_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@PEAVCordzHandle@cord_internal@absl@@@23@PEAPEAVCordzHandle@cord_internal@absl@@_K@Z - ?deallocate@?$allocator_traits@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@absl@@SAXAEAV?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@PEAPEBUCordRep@cord_internal@2@_K@Z + ?deallocate@?$allocator_traits@V?$allocator@PEBUCordRep@cord_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@PEBUCordRep@cord_internal@absl@@@23@PEAPEBUCordRep@cord_internal@absl@@_K@Z ?deallocate@?$allocator_traits@V?$allocator@PEBVCordzHandle@cord_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@PEBVCordzHandle@cord_internal@absl@@@23@PEAPEBVCordzHandle@cord_internal@absl@@_K@Z ?deallocate@?$allocator_traits@V?$allocator@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@PEBVImpl@time_zone@cctz@time_internal@absl@@@23@PEAPEBVImpl@time_zone@cctz@time_internal@absl@@_K@Z ?deallocate@?$allocator_traits@V?$allocator@U?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PEAX@__1@std@@@__1@std@@@__1@std@@SAXAEAV?$allocator@U?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PEAX@__1@std@@@23@PEAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PEBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PEAX@23@_K@Z ?deallocate@?$allocator_traits@V?$allocator@UConversionItem@ParsedFormatBase@str_format_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@UConversionItem@ParsedFormatBase@str_format_internal@absl@@@23@PEAUConversionItem@ParsedFormatBase@str_format_internal@absl@@_K@Z - ?deallocate@?$allocator_traits@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@absl@@SAXAEAV?$allocator@UPayload@status_internal@absl@@@__1@std@@PEAUPayload@status_internal@2@_K@Z - ?deallocate@?$allocator_traits@V?$allocator@USubRange@absl@@@__1@std@@@absl@@SAXAEAV?$allocator@USubRange@absl@@@__1@std@@PEAUSubRange@2@_K@Z + ?deallocate@?$allocator_traits@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@UPayload@status_internal@absl@@@23@PEAUPayload@status_internal@absl@@_K@Z + ?deallocate@?$allocator_traits@V?$allocator@USubRange@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@USubRange@absl@@@23@PEAUSubRange@absl@@_K@Z ?deallocate@?$allocator_traits@V?$allocator@UTransition@cctz@time_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@UTransition@cctz@time_internal@absl@@@23@PEAUTransition@cctz@time_internal@absl@@_K@Z ?deallocate@?$allocator_traits@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@UTransitionType@cctz@time_internal@absl@@@23@PEAUTransitionType@cctz@time_internal@absl@@_K@Z ?deallocate@?$allocator_traits@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@SAXAEAV?$allocator@UViableSubstitution@strings_internal@absl@@@23@PEAUViableSubstitution@strings_internal@absl@@_K@Z diff --git a/third_party/abseil-cpp/symbols_x86_dbg.def b/third_party/abseil-cpp/symbols_x86_dbg.def index ab42b5626c..5641446b8c 100644 --- a/third_party/abseil-cpp/symbols_x86_dbg.def +++ b/third_party/abseil-cpp/symbols_x86_dbg.def @@ -260,25 +260,25 @@ EXPORTS ??$ArgumentToConv@_J@str_format_internal@absl@@YA?AW4FormatConversionCharSet@1@XZ ??$ArgumentToConv@_K@str_format_internal@absl@@YA?AW4FormatConversionCharSet@1@XZ ??$ArgumentToConv@_N@str_format_internal@absl@@YA?AW4FormatConversionCharSet@1@XZ - ??$AssignElements@PAUPayload@status_internal@absl@@V?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__1@std@@V?$move_iterator@PAUPayload@status_internal@absl@@@23@@inlined_vector_internal@3@I@inlined_vector_internal@absl@@YAXPAUPayload@status_internal@1@PAV?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__1@std@@V?$move_iterator@PAUPayload@status_internal@absl@@@23@@01@I@Z + ??$AssignElements@V?$allocator@UPayload@status_internal@absl@@@__1@std@@V?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__1@std@@V?$move_iterator@PAUPayload@status_internal@absl@@@23@@inlined_vector_internal@absl@@@inlined_vector_internal@absl@@YAXPAUPayload@status_internal@1@AAV?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__1@std@@V?$move_iterator@PAUPayload@status_internal@absl@@@23@@01@I@Z ??$Base64EscapeInternal@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@strings_internal@absl@@YAXPBEIPAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@_NPBD@Z ??$CallOnceImpl@A6AXXZ$$V@base_internal@absl@@YAXPAU?$atomic@I@__1@std@@W4SchedulingMode@01@A6AXXZ@Z ??$CastAndCallFunction@$$CBU?$atomic@_N@__1@std@@@Condition@absl@@CA_NPBV01@@Z ??$CastAndCallFunction@USynchEvent@absl@@@Condition@absl@@CA_NPBV01@@Z ??$Compare@$0FE@$0FE@@strings_internal@absl@@YAHABV?$BigUnsigned@$0FE@@01@0@Z - ??$ConstructElements@V?$allocator@H@__1@std@@PAHV?$IteratorValueAdapter@V?$allocator@H@__1@std@@V?$move_iterator@PAH@23@@inlined_vector_internal@absl@@I@inlined_vector_internal@absl@@YAXPAV?$allocator@H@__1@std@@PAHPAV?$IteratorValueAdapter@V?$allocator@H@__1@std@@V?$move_iterator@PAH@23@@01@I@Z - ??$ConstructElements@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@PAPAUCordRep@cord_internal@absl@@V?$CopyValueAdapter@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@6@I@inlined_vector_internal@absl@@YAXPAV?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@PAPAUCordRep@cord_internal@1@PAV?$CopyValueAdapter@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@@01@I@Z - ??$ConstructElements@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@PAPAUCordRep@cord_internal@absl@@V?$IteratorValueAdapter@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@V?$move_iterator@PAPAUCordRep@cord_internal@absl@@@23@@inlined_vector_internal@6@I@inlined_vector_internal@absl@@YAXPAV?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@PAPAUCordRep@cord_internal@1@PAV?$IteratorValueAdapter@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@V?$move_iterator@PAPAUCordRep@cord_internal@absl@@@23@@01@I@Z - ??$ConstructElements@V?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@PAPBUCordRep@cord_internal@absl@@V?$IteratorValueAdapter@V?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@V?$move_iterator@PAPBUCordRep@cord_internal@absl@@@23@@inlined_vector_internal@6@I@inlined_vector_internal@absl@@YAXPAV?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@PAPBUCordRep@cord_internal@1@PAV?$IteratorValueAdapter@V?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@V?$move_iterator@PAPBUCordRep@cord_internal@absl@@@23@@01@I@Z - ??$ConstructElements@V?$allocator@UPayload@status_internal@absl@@@__1@std@@PAUPayload@status_internal@absl@@V?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__1@std@@PBUPayload@status_internal@absl@@@inlined_vector_internal@6@I@inlined_vector_internal@absl@@YAXPAV?$allocator@UPayload@status_internal@absl@@@__1@std@@PAUPayload@status_internal@1@PAV?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__1@std@@PBUPayload@status_internal@absl@@@01@I@Z - ??$ConstructElements@V?$allocator@UPayload@status_internal@absl@@@__1@std@@PAUPayload@status_internal@absl@@V?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__1@std@@V?$move_iterator@PAUPayload@status_internal@absl@@@23@@inlined_vector_internal@6@I@inlined_vector_internal@absl@@YAXPAV?$allocator@UPayload@status_internal@absl@@@__1@std@@PAUPayload@status_internal@1@PAV?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__1@std@@V?$move_iterator@PAUPayload@status_internal@absl@@@23@@01@I@Z - ??$ConstructElements@V?$allocator@USubRange@absl@@@__1@std@@PAUSubRange@absl@@V?$IteratorValueAdapter@V?$allocator@USubRange@absl@@@__1@std@@V?$move_iterator@PAUSubRange@absl@@@23@@inlined_vector_internal@5@I@inlined_vector_internal@absl@@YAXPAV?$allocator@USubRange@absl@@@__1@std@@PAUSubRange@1@PAV?$IteratorValueAdapter@V?$allocator@USubRange@absl@@@__1@std@@V?$move_iterator@PAUSubRange@absl@@@23@@01@I@Z + ??$ConstructElements@V?$allocator@H@__1@std@@V?$IteratorValueAdapter@V?$allocator@H@__1@std@@V?$move_iterator@PAH@23@@inlined_vector_internal@absl@@@inlined_vector_internal@absl@@YAXAAV?$allocator@H@__1@std@@PAHAAV?$IteratorValueAdapter@V?$allocator@H@__1@std@@V?$move_iterator@PAH@23@@01@I@Z + ??$ConstructElements@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@V?$CopyValueAdapter@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@@inlined_vector_internal@absl@@YAXAAV?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@PAPAUCordRep@cord_internal@1@AAV?$CopyValueAdapter@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@@01@I@Z + ??$ConstructElements@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@V?$IteratorValueAdapter@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@V?$move_iterator@PAPAUCordRep@cord_internal@absl@@@23@@inlined_vector_internal@absl@@@inlined_vector_internal@absl@@YAXAAV?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@PAPAUCordRep@cord_internal@1@AAV?$IteratorValueAdapter@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@V?$move_iterator@PAPAUCordRep@cord_internal@absl@@@23@@01@I@Z + ??$ConstructElements@V?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@V?$IteratorValueAdapter@V?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@V?$move_iterator@PAPBUCordRep@cord_internal@absl@@@23@@inlined_vector_internal@absl@@@inlined_vector_internal@absl@@YAXAAV?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@PAPBUCordRep@cord_internal@1@AAV?$IteratorValueAdapter@V?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@V?$move_iterator@PAPBUCordRep@cord_internal@absl@@@23@@01@I@Z + ??$ConstructElements@V?$allocator@UPayload@status_internal@absl@@@__1@std@@V?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__1@std@@PBUPayload@status_internal@absl@@@inlined_vector_internal@absl@@@inlined_vector_internal@absl@@YAXAAV?$allocator@UPayload@status_internal@absl@@@__1@std@@PAUPayload@status_internal@1@AAV?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__1@std@@PBUPayload@status_internal@absl@@@01@I@Z + ??$ConstructElements@V?$allocator@UPayload@status_internal@absl@@@__1@std@@V?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__1@std@@V?$move_iterator@PAUPayload@status_internal@absl@@@23@@inlined_vector_internal@absl@@@inlined_vector_internal@absl@@YAXAAV?$allocator@UPayload@status_internal@absl@@@__1@std@@PAUPayload@status_internal@1@AAV?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__1@std@@V?$move_iterator@PAUPayload@status_internal@absl@@@23@@01@I@Z + ??$ConstructElements@V?$allocator@USubRange@absl@@@__1@std@@V?$IteratorValueAdapter@V?$allocator@USubRange@absl@@@__1@std@@V?$move_iterator@PAUSubRange@absl@@@23@@inlined_vector_internal@absl@@@inlined_vector_internal@absl@@YAXAAV?$allocator@USubRange@absl@@@__1@std@@PAUSubRange@1@AAV?$IteratorValueAdapter@V?$allocator@USubRange@absl@@@__1@std@@V?$move_iterator@PAUSubRange@absl@@@23@@01@I@Z ??$Convert@VFormatArgImpl@str_format_internal@absl@@@FormatArgImplFriend@str_format_internal@absl@@SA_NVFormatArgImpl@12@VFormatConversionSpecImpl@12@PAVFormatSinkImpl@12@@Z - ??$DestroyElements@V?$allocator@H@__1@std@@PAHI@inlined_vector_internal@absl@@YAXPAV?$allocator@H@__1@std@@PAHI@Z - ??$DestroyElements@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@PAPAUCordRep@cord_internal@absl@@I@inlined_vector_internal@absl@@YAXPAV?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@PAPAUCordRep@cord_internal@1@I@Z - ??$DestroyElements@V?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@PAPBUCordRep@cord_internal@absl@@I@inlined_vector_internal@absl@@YAXPAV?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@PAPBUCordRep@cord_internal@1@I@Z - ??$DestroyElements@V?$allocator@UPayload@status_internal@absl@@@__1@std@@PAUPayload@status_internal@absl@@I@inlined_vector_internal@absl@@YAXPAV?$allocator@UPayload@status_internal@absl@@@__1@std@@PAUPayload@status_internal@1@I@Z - ??$DestroyElements@V?$allocator@USubRange@absl@@@__1@std@@PAUSubRange@absl@@I@inlined_vector_internal@absl@@YAXPAV?$allocator@USubRange@absl@@@__1@std@@PAUSubRange@1@I@Z + ??$DestroyElements@V?$allocator@H@__1@std@@@inlined_vector_internal@absl@@YAXAAV?$allocator@H@__1@std@@PAHI@Z + ??$DestroyElements@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@YAXAAV?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@PAPAUCordRep@cord_internal@1@I@Z + ??$DestroyElements@V?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@YAXAAV?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@PAPBUCordRep@cord_internal@1@I@Z + ??$DestroyElements@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@YAXAAV?$allocator@UPayload@status_internal@absl@@@__1@std@@PAUPayload@status_internal@1@I@Z + ??$DestroyElements@V?$allocator@USubRange@absl@@@__1@std@@@inlined_vector_internal@absl@@YAXAAV?$allocator@USubRange@absl@@@__1@std@@PAUSubRange@1@I@Z ??$Dispatch@C@FormatArgImpl@str_format_internal@absl@@CA_NTData@012@VFormatConversionSpecImpl@12@PAX@Z ??$Dispatch@D@FormatArgImpl@str_format_internal@absl@@CA_NTData@012@VFormatConversionSpecImpl@12@PAX@Z ??$Dispatch@E@FormatArgImpl@str_format_internal@absl@@CA_NTData@012@VFormatConversionSpecImpl@12@PAX@Z @@ -554,16 +554,11 @@ EXPORTS ??$__upper_bound@AAUByUnixTime@Transition@cctz@time_internal@absl@@PBU2345@U2345@@__1@std@@YAPBUTransition@cctz@time_internal@absl@@PBU2345@0ABU2345@AAUByUnixTime@2345@@Z ??$addressof@$$CBU?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@@__1@std@@YAPBU?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@01@ABU201@@Z ??$addressof@$$CBU?$pair@$$CBV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@@__1@std@@YAPBU?$pair@$$CBV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@01@ABU201@@Z - ??$addressof@$$CBV?$allocator@UPayload@status_internal@absl@@@__1@std@@@__1@std@@YAPBV?$allocator@UPayload@status_internal@absl@@@01@ABV201@@Z ??$addressof@PBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@YAPAPBVImpl@time_zone@cctz@time_internal@absl@@AAPBV23456@@Z ??$addressof@QAUCordRep@cord_internal@absl@@@__1@std@@YAPBQAUCordRep@cord_internal@absl@@ABQAU234@@Z ??$addressof@U?$__hash_node_base@PAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PAX@__1@std@@@__1@std@@@__1@std@@YAPAU?$__hash_node_base@PAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PAX@__1@std@@@01@AAU201@@Z ??$addressof@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@@__1@std@@YAPAU?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@01@AAU201@@Z ??$addressof@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@@__1@std@@YAPAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@01@AAU201@@Z - ??$addressof@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@@__1@std@@YAPAV?$allocator@PAUCordRep@cord_internal@absl@@@01@AAV201@@Z - ??$addressof@V?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@@__1@std@@YAPAV?$allocator@PBUCordRep@cord_internal@absl@@@01@AAV201@@Z - ??$addressof@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@__1@std@@YAPAV?$allocator@UPayload@status_internal@absl@@@01@AAV201@@Z - ??$addressof@V?$allocator@USubRange@absl@@@__1@std@@@__1@std@@YAPAV?$allocator@USubRange@absl@@@01@AAV201@@Z ??$advance@PBUTransition@cctz@time_internal@absl@@H@__1@std@@YAXAAPBUTransition@cctz@time_internal@absl@@H@Z ??$advance@PBVFormatArgImpl@str_format_internal@absl@@I@__1@std@@YAXAAPBVFormatArgImpl@str_format_internal@absl@@I@Z ??$assign@PBVFormatArgImpl@str_format_internal@absl@@@?$vector@VFormatArgImpl@str_format_internal@absl@@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__1@std@@@__1@std@@QAEXPBVFormatArgImpl@str_format_internal@absl@@0@Z @@ -572,23 +567,20 @@ EXPORTS ??$bit_cast@_K_J$0A@@absl@@YA_KAB_J@Z ??$bit_width@I@absl@@YAII@Z ??$bit_width@_K@absl@@YA_K_K@Z - ??$construct@HABH@?$allocator_traits@V?$allocator@H@__1@std@@@absl@@SAXAAV?$allocator@H@__1@std@@PAHABH@Z - ??$construct@HH@?$allocator_traits@V?$allocator@H@__1@std@@@absl@@SAXAAV?$allocator@H@__1@std@@PAH$$QAH@Z ??$construct@PAPBVImpl@time_zone@cctz@time_internal@absl@@ABQAPBV12345@@?$allocator@PAPBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@QAEXPAPAPBVImpl@time_zone@cctz@time_internal@absl@@ABQAPBV34567@@Z ??$construct@PAPBVImpl@time_zone@cctz@time_internal@absl@@ABQAPBV12345@X@?$allocator_traits@V?$allocator@PAPBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@@__1@std@@SAXAAV?$allocator@PAPBVImpl@time_zone@cctz@time_internal@absl@@@12@PAPAPBVImpl@time_zone@cctz@time_internal@absl@@ABQAPBV45678@@Z ??$construct@PAPBVImpl@time_zone@cctz@time_internal@absl@@PAPBV12345@@?$allocator@PAPBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@QAEXPAPAPBVImpl@time_zone@cctz@time_internal@absl@@$$QAPAPBV34567@@Z ??$construct@PAPBVImpl@time_zone@cctz@time_internal@absl@@PAPBV12345@X@?$allocator_traits@V?$allocator@PAPBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@@__1@std@@SAXAAV?$allocator@PAPBVImpl@time_zone@cctz@time_internal@absl@@@12@PAPAPBVImpl@time_zone@cctz@time_internal@absl@@$$QAPAPBV45678@@Z ??$construct@PAUCordRep@cord_internal@absl@@ABQAU123@@?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@QAEXPAPAUCordRep@cord_internal@absl@@ABQAU345@@Z - ??$construct@PAUCordRep@cord_internal@absl@@ABQAU123@@?$allocator_traits@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@@absl@@SAXAAV?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@PAPAUCordRep@cord_internal@1@ABQAU561@@Z ??$construct@PAUCordRep@cord_internal@absl@@ABQAU123@X@?$allocator_traits@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@@__1@std@@SAXAAV?$allocator@PAUCordRep@cord_internal@absl@@@12@PAPAUCordRep@cord_internal@absl@@ABQAU456@@Z ??$construct@PAUCordRep@cord_internal@absl@@PAU123@@?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@QAEXPAPAUCordRep@cord_internal@absl@@$$QAPAU345@@Z - ??$construct@PAUCordRep@cord_internal@absl@@PAU123@@?$allocator_traits@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@@absl@@SAXAAV?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@PAPAUCordRep@cord_internal@1@$$QAPAU561@@Z + ??$construct@PAUCordRep@cord_internal@absl@@PAU123@X@?$allocator_traits@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@@__1@std@@SAXAAV?$allocator@PAUCordRep@cord_internal@absl@@@12@PAPAUCordRep@cord_internal@absl@@$$QAPAU456@@Z ??$construct@PAVCordzHandle@cord_internal@absl@@ABQAV123@@?$allocator@PAVCordzHandle@cord_internal@absl@@@__1@std@@QAEXPAPAVCordzHandle@cord_internal@absl@@ABQAV345@@Z ??$construct@PAVCordzHandle@cord_internal@absl@@ABQAV123@X@?$allocator_traits@V?$allocator@PAVCordzHandle@cord_internal@absl@@@__1@std@@@__1@std@@SAXAAV?$allocator@PAVCordzHandle@cord_internal@absl@@@12@PAPAVCordzHandle@cord_internal@absl@@ABQAV456@@Z ??$construct@PBUCordRep@cord_internal@absl@@ABQBU123@@?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@QAEXPAPBUCordRep@cord_internal@absl@@ABQBU345@@Z - ??$construct@PBUCordRep@cord_internal@absl@@ABQBU123@@?$allocator_traits@V?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@@absl@@SAXAAV?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@PAPBUCordRep@cord_internal@1@ABQBU561@@Z + ??$construct@PBUCordRep@cord_internal@absl@@ABQBU123@X@?$allocator_traits@V?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@@__1@std@@SAXAAV?$allocator@PBUCordRep@cord_internal@absl@@@12@PAPBUCordRep@cord_internal@absl@@ABQBU456@@Z ??$construct@PBUCordRep@cord_internal@absl@@PBU123@@?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@QAEXPAPBUCordRep@cord_internal@absl@@$$QAPBU345@@Z - ??$construct@PBUCordRep@cord_internal@absl@@PBU123@@?$allocator_traits@V?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@@absl@@SAXAAV?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@PAPBUCordRep@cord_internal@1@$$QAPBU561@@Z + ??$construct@PBUCordRep@cord_internal@absl@@PBU123@X@?$allocator_traits@V?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@@__1@std@@SAXAAV?$allocator@PBUCordRep@cord_internal@absl@@@12@PAPBUCordRep@cord_internal@absl@@$$QAPBU456@@Z ??$construct@PBVCordzHandle@cord_internal@absl@@ABQBV123@@?$allocator@PBVCordzHandle@cord_internal@absl@@@__1@std@@QAEXPAPBVCordzHandle@cord_internal@absl@@ABQBV345@@Z ??$construct@PBVCordzHandle@cord_internal@absl@@ABQBV123@X@?$allocator_traits@V?$allocator@PBVCordzHandle@cord_internal@absl@@@__1@std@@@__1@std@@SAXAAV?$allocator@PBVCordzHandle@cord_internal@absl@@@12@PAPBVCordzHandle@cord_internal@absl@@ABQBV456@@Z ??$construct@PBVImpl@time_zone@cctz@time_internal@absl@@ABQBV12345@@?$allocator@PBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@QAEXPAPBVImpl@time_zone@cctz@time_internal@absl@@ABQBV34567@@Z @@ -598,11 +590,11 @@ EXPORTS ??$construct@UConversionItem@ParsedFormatBase@str_format_internal@absl@@U1234@@?$allocator@UConversionItem@ParsedFormatBase@str_format_internal@absl@@@__1@std@@QAEXPAUConversionItem@ParsedFormatBase@str_format_internal@absl@@$$QAU3456@@Z ??$construct@UConversionItem@ParsedFormatBase@str_format_internal@absl@@U1234@X@?$allocator_traits@V?$allocator@UConversionItem@ParsedFormatBase@str_format_internal@absl@@@__1@std@@@__1@std@@SAXAAV?$allocator@UConversionItem@ParsedFormatBase@str_format_internal@absl@@@12@PAUConversionItem@ParsedFormatBase@str_format_internal@absl@@$$QAU4567@@Z ??$construct@UPayload@status_internal@absl@@ABU123@@?$allocator@UPayload@status_internal@absl@@@__1@std@@QAEXPAUPayload@status_internal@absl@@ABU345@@Z - ??$construct@UPayload@status_internal@absl@@ABU123@@?$allocator_traits@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@absl@@SAXAAV?$allocator@UPayload@status_internal@absl@@@__1@std@@PAUPayload@status_internal@1@ABU561@@Z + ??$construct@UPayload@status_internal@absl@@ABU123@X@?$allocator_traits@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@__1@std@@SAXAAV?$allocator@UPayload@status_internal@absl@@@12@PAUPayload@status_internal@absl@@ABU456@@Z ??$construct@UPayload@status_internal@absl@@U123@@?$allocator@UPayload@status_internal@absl@@@__1@std@@QAEXPAUPayload@status_internal@absl@@$$QAU345@@Z - ??$construct@UPayload@status_internal@absl@@U123@@?$allocator_traits@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@absl@@SAXAAV?$allocator@UPayload@status_internal@absl@@@__1@std@@PAUPayload@status_internal@1@$$QAU561@@Z + ??$construct@UPayload@status_internal@absl@@U123@X@?$allocator_traits@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@__1@std@@SAXAAV?$allocator@UPayload@status_internal@absl@@@12@PAUPayload@status_internal@absl@@$$QAU456@@Z ??$construct@USubRange@absl@@U12@@?$allocator@USubRange@absl@@@__1@std@@QAEXPAUSubRange@absl@@$$QAU34@@Z - ??$construct@USubRange@absl@@U12@@?$allocator_traits@V?$allocator@USubRange@absl@@@__1@std@@@absl@@SAXAAV?$allocator@USubRange@absl@@@__1@std@@PAUSubRange@1@$$QAU51@@Z + ??$construct@USubRange@absl@@U12@X@?$allocator_traits@V?$allocator@USubRange@absl@@@__1@std@@@__1@std@@SAXAAV?$allocator@USubRange@absl@@@12@PAUSubRange@absl@@$$QAU45@@Z ??$construct@UTransition@cctz@time_internal@absl@@$$V@?$allocator@UTransition@cctz@time_internal@absl@@@__1@std@@QAEXPAUTransition@cctz@time_internal@absl@@@Z ??$construct@UTransition@cctz@time_internal@absl@@$$VX@?$allocator_traits@V?$allocator@UTransition@cctz@time_internal@absl@@@__1@std@@@__1@std@@SAXAAV?$allocator@UTransition@cctz@time_internal@absl@@@12@PAUTransition@cctz@time_internal@absl@@@Z ??$construct@UTransition@cctz@time_internal@absl@@ABU1234@@?$allocator@UTransition@cctz@time_internal@absl@@@__1@std@@QAEXPAUTransition@cctz@time_internal@absl@@ABU3456@@Z @@ -616,39 +608,23 @@ EXPORTS ??$construct@UViableSubstitution@strings_internal@absl@@AAVstring_view@3@ABV43@AAI@?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@QAEXPAUViableSubstitution@strings_internal@absl@@AAVstring_view@5@ABV65@AAI@Z ??$construct@UViableSubstitution@strings_internal@absl@@AAVstring_view@3@ABV43@AAIX@?$allocator_traits@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@SAXAAV?$allocator@UViableSubstitution@strings_internal@absl@@@12@PAUViableSubstitution@strings_internal@absl@@AAVstring_view@6@ABV76@AAI@Z ??$construct@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@?$optional_data_base@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@optional_internal@absl@@IAEX$$QAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z - ??$construct_impl@V?$allocator@H@__1@std@@AAPAHABH@?$allocator_traits@V?$allocator@H@__1@std@@@absl@@CAXHAAV?$allocator@H@__1@std@@AAPAHABH@Z - ??$construct_impl@V?$allocator@H@__1@std@@AAPAHH@?$allocator_traits@V?$allocator@H@__1@std@@@absl@@CAXHAAV?$allocator@H@__1@std@@AAPAH$$QAH@Z - ??$construct_impl@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@AAPAPAUCordRep@cord_internal@absl@@ABQAU456@@?$allocator_traits@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@@absl@@CAXHAAV?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@AAPAPAUCordRep@cord_internal@1@ABQAU561@@Z - ??$construct_impl@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@AAPAPAUCordRep@cord_internal@absl@@PAU456@@?$allocator_traits@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@@absl@@CAXHAAV?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@AAPAPAUCordRep@cord_internal@1@$$QAPAU561@@Z - ??$construct_impl@V?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@AAPAPBUCordRep@cord_internal@absl@@ABQBU456@@?$allocator_traits@V?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@@absl@@CAXHAAV?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@AAPAPBUCordRep@cord_internal@1@ABQBU561@@Z - ??$construct_impl@V?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@AAPAPBUCordRep@cord_internal@absl@@PBU456@@?$allocator_traits@V?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@@absl@@CAXHAAV?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@AAPAPBUCordRep@cord_internal@1@$$QAPBU561@@Z - ??$construct_impl@V?$allocator@UPayload@status_internal@absl@@@__1@std@@AAPAUPayload@status_internal@absl@@ABU456@@?$allocator_traits@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@absl@@CAXHAAV?$allocator@UPayload@status_internal@absl@@@__1@std@@AAPAUPayload@status_internal@1@ABU561@@Z - ??$construct_impl@V?$allocator@UPayload@status_internal@absl@@@__1@std@@AAPAUPayload@status_internal@absl@@U456@@?$allocator_traits@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@absl@@CAXHAAV?$allocator@UPayload@status_internal@absl@@@__1@std@@AAPAUPayload@status_internal@1@$$QAU561@@Z - ??$construct_impl@V?$allocator@USubRange@absl@@@__1@std@@AAPAUSubRange@absl@@U45@@?$allocator_traits@V?$allocator@USubRange@absl@@@__1@std@@@absl@@CAXHAAV?$allocator@USubRange@absl@@@__1@std@@AAPAUSubRange@1@$$QAU51@@Z ??$copy@PBVFormatArgImpl@str_format_internal@absl@@PAV123@@__1@std@@YAPAVFormatArgImpl@str_format_internal@absl@@PBV234@0PAV234@@Z ??$countl_zero@I@absl@@YAHI@Z ??$countl_zero@_K@absl@@YAH_K@Z ??$countr_zero@I@absl@@YAHI@Z - ??$destroy@H@?$allocator_traits@V?$allocator@H@__1@std@@@absl@@SAXAAV?$allocator@H@__1@std@@PAH@Z ??$destroy@PAPBVImpl@time_zone@cctz@time_internal@absl@@X@?$allocator_traits@V?$allocator@PAPBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@@__1@std@@SAXAAV?$allocator@PAPBVImpl@time_zone@cctz@time_internal@absl@@@12@PAPAPBVImpl@time_zone@cctz@time_internal@absl@@@Z - ??$destroy@PAUCordRep@cord_internal@absl@@@?$allocator_traits@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@@absl@@SAXAAV?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@PAPAUCordRep@cord_internal@1@@Z ??$destroy@PAUCordRep@cord_internal@absl@@X@?$allocator_traits@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@@__1@std@@SAXAAV?$allocator@PAUCordRep@cord_internal@absl@@@12@PAPAUCordRep@cord_internal@absl@@@Z ??$destroy@PAVCordzHandle@cord_internal@absl@@X@?$allocator_traits@V?$allocator@PAVCordzHandle@cord_internal@absl@@@__1@std@@@__1@std@@SAXAAV?$allocator@PAVCordzHandle@cord_internal@absl@@@12@PAPAVCordzHandle@cord_internal@absl@@@Z - ??$destroy@PBUCordRep@cord_internal@absl@@@?$allocator_traits@V?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@@absl@@SAXAAV?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@PAPBUCordRep@cord_internal@1@@Z + ??$destroy@PBUCordRep@cord_internal@absl@@X@?$allocator_traits@V?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@@__1@std@@SAXAAV?$allocator@PBUCordRep@cord_internal@absl@@@12@PAPBUCordRep@cord_internal@absl@@@Z ??$destroy@PBVCordzHandle@cord_internal@absl@@X@?$allocator_traits@V?$allocator@PBVCordzHandle@cord_internal@absl@@@__1@std@@@__1@std@@SAXAAV?$allocator@PBVCordzHandle@cord_internal@absl@@@12@PAPBVCordzHandle@cord_internal@absl@@@Z ??$destroy@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@XX@?$allocator_traits@V?$allocator@U?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PAX@__1@std@@@__1@std@@@__1@std@@SAXAAV?$allocator@U?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PAX@__1@std@@@12@PAU?$pair@$$CBV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@12@@Z ??$destroy@UConversionItem@ParsedFormatBase@str_format_internal@absl@@X@?$allocator_traits@V?$allocator@UConversionItem@ParsedFormatBase@str_format_internal@absl@@@__1@std@@@__1@std@@SAXAAV?$allocator@UConversionItem@ParsedFormatBase@str_format_internal@absl@@@12@PAUConversionItem@ParsedFormatBase@str_format_internal@absl@@@Z - ??$destroy@UPayload@status_internal@absl@@@?$allocator_traits@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@absl@@SAXAAV?$allocator@UPayload@status_internal@absl@@@__1@std@@PAUPayload@status_internal@1@@Z - ??$destroy@USubRange@absl@@@?$allocator_traits@V?$allocator@USubRange@absl@@@__1@std@@@absl@@SAXAAV?$allocator@USubRange@absl@@@__1@std@@PAUSubRange@1@@Z + ??$destroy@UPayload@status_internal@absl@@X@?$allocator_traits@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@__1@std@@SAXAAV?$allocator@UPayload@status_internal@absl@@@12@PAUPayload@status_internal@absl@@@Z + ??$destroy@USubRange@absl@@X@?$allocator_traits@V?$allocator@USubRange@absl@@@__1@std@@@__1@std@@SAXAAV?$allocator@USubRange@absl@@@12@PAUSubRange@absl@@@Z ??$destroy@UTransition@cctz@time_internal@absl@@X@?$allocator_traits@V?$allocator@UTransition@cctz@time_internal@absl@@@__1@std@@@__1@std@@SAXAAV?$allocator@UTransition@cctz@time_internal@absl@@@12@PAUTransition@cctz@time_internal@absl@@@Z ??$destroy@UTransitionType@cctz@time_internal@absl@@X@?$allocator_traits@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__1@std@@@__1@std@@SAXAAV?$allocator@UTransitionType@cctz@time_internal@absl@@@12@PAUTransitionType@cctz@time_internal@absl@@@Z ??$destroy@UViableSubstitution@strings_internal@absl@@X@?$allocator_traits@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@SAXAAV?$allocator@UViableSubstitution@strings_internal@absl@@@12@PAUViableSubstitution@strings_internal@absl@@@Z ??$destroy@VFormatArgImpl@str_format_internal@absl@@X@?$allocator_traits@V?$allocator@VFormatArgImpl@str_format_internal@absl@@@__1@std@@@__1@std@@SAXAAV?$allocator@VFormatArgImpl@str_format_internal@absl@@@12@PAVFormatArgImpl@str_format_internal@absl@@@Z - ??$destroy_impl@V?$allocator@H@__1@std@@H@?$allocator_traits@V?$allocator@H@__1@std@@@absl@@CAXHAAV?$allocator@H@__1@std@@PAH@Z - ??$destroy_impl@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@PAUCordRep@cord_internal@absl@@@?$allocator_traits@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@@absl@@CAXHAAV?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@PAPAUCordRep@cord_internal@1@@Z - ??$destroy_impl@V?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@PBUCordRep@cord_internal@absl@@@?$allocator_traits@V?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@@absl@@CAXHAAV?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@PAPBUCordRep@cord_internal@1@@Z - ??$destroy_impl@V?$allocator@UPayload@status_internal@absl@@@__1@std@@UPayload@status_internal@absl@@@?$allocator_traits@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@absl@@CAXHAAV?$allocator@UPayload@status_internal@absl@@@__1@std@@PAUPayload@status_internal@1@@Z - ??$destroy_impl@V?$allocator@USubRange@absl@@@__1@std@@USubRange@absl@@@?$allocator_traits@V?$allocator@USubRange@absl@@@__1@std@@@absl@@CAXHAAV?$allocator@USubRange@absl@@@__1@std@@PAUSubRange@1@@Z ??$distance@PBUPayload@status_internal@absl@@@__1@std@@YAHPBUPayload@status_internal@absl@@0@Z ??$distance@PBUTransition@cctz@time_internal@absl@@@__1@std@@YAHPBUTransition@cctz@time_internal@absl@@0@Z ??$distance@PBVFormatArgImpl@str_format_internal@absl@@@__1@std@@YAHPBVFormatArgImpl@str_format_internal@absl@@0@Z @@ -671,12 +647,8 @@ EXPORTS ??$find_first_non_full@X@container_internal@absl@@YA?AUFindInfo@01@PBW4ctrl_t@01@II@Z ??$forward@$$T@absl@@YA$$QA$$TAA$$T@Z ??$forward@AAI@absl@@YAAAIAAI@Z - ??$forward@AAPAPAUCordRep@cord_internal@absl@@@__1@std@@YAAAPAPAUCordRep@cord_internal@absl@@AAPAPAU234@@Z - ??$forward@AAPAPBUCordRep@cord_internal@absl@@@__1@std@@YAAAPAPBUCordRep@cord_internal@absl@@AAPAPBU234@@Z ??$forward@AAPAPBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@YAAAPAPBVImpl@time_zone@cctz@time_internal@absl@@AAPAPBV23456@@Z ??$forward@AAPAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PAX@__1@std@@@__1@std@@YAAAPAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PAX@01@AAPAU201@@Z - ??$forward@AAPAUPayload@status_internal@absl@@@__1@std@@YAAAPAUPayload@status_internal@absl@@AAPAU234@@Z - ??$forward@AAPAUSubRange@absl@@@__1@std@@YAAAPAUSubRange@absl@@AAPAU23@@Z ??$forward@AAPAUThreadIdentity@base_internal@absl@@@__1@std@@YAAAPAUThreadIdentity@base_internal@absl@@AAPAU234@@Z ??$forward@AAPAV?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__1@std@@@absl@@@__1@std@@YAAAPAV?$InlinedVector@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__1@std@@@absl@@AAPAV23@@Z ??$forward@AAPAVTimeZoneIf@cctz@time_internal@absl@@@__1@std@@YAAAPAVTimeZoneIf@cctz@time_internal@absl@@AAPAV2345@@Z @@ -837,11 +809,11 @@ EXPORTS ??$swap@UViableSubstitution@strings_internal@absl@@@__1@std@@YAXAAUViableSubstitution@strings_internal@absl@@0@Z ??$upper_bound@PBUTransition@cctz@time_internal@absl@@U1234@UByCivilTime@1234@@__1@std@@YAPBUTransition@cctz@time_internal@absl@@PBU2345@0ABU2345@UByCivilTime@2345@@Z ??$upper_bound@PBUTransition@cctz@time_internal@absl@@U1234@UByUnixTime@1234@@__1@std@@YAPBUTransition@cctz@time_internal@absl@@PBU2345@0ABU2345@UByUnixTime@2345@@Z - ??0?$AllocationTransaction@V?$allocator@H@__1@std@@@inlined_vector_internal@absl@@QAE@PAV?$allocator@H@__1@std@@@Z - ??0?$AllocationTransaction@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QAE@PAV?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@@Z - ??0?$AllocationTransaction@V?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QAE@PAV?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@@Z - ??0?$AllocationTransaction@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QAE@PAV?$allocator@UPayload@status_internal@absl@@@__1@std@@@Z - ??0?$AllocationTransaction@V?$allocator@USubRange@absl@@@__1@std@@@inlined_vector_internal@absl@@QAE@PAV?$allocator@USubRange@absl@@@__1@std@@@Z + ??0?$AllocationTransaction@V?$allocator@H@__1@std@@@inlined_vector_internal@absl@@QAE@AAV?$allocator@H@__1@std@@@Z + ??0?$AllocationTransaction@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QAE@AAV?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@@Z + ??0?$AllocationTransaction@V?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QAE@AAV?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@@Z + ??0?$AllocationTransaction@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QAE@AAV?$allocator@UPayload@status_internal@absl@@@__1@std@@@Z + ??0?$AllocationTransaction@V?$allocator@USubRange@absl@@@__1@std@@@inlined_vector_internal@absl@@QAE@AAV?$allocator@USubRange@absl@@@__1@std@@@Z ??0?$BigUnsigned@$03@strings_internal@absl@@QAE@Vstring_view@2@@Z ??0?$BigUnsigned@$03@strings_internal@absl@@QAE@XZ ??0?$BigUnsigned@$03@strings_internal@absl@@QAE@_K@Z @@ -849,7 +821,7 @@ EXPORTS ??0?$BigUnsigned@$0FE@@strings_internal@absl@@QAE@XZ ??0?$BigUnsigned@$0FE@@strings_internal@absl@@QAE@_K@Z ??0?$BitMask@I$0BA@$0A@@container_internal@absl@@QAE@I@Z - ??0?$CopyValueAdapter@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QAE@ABQAUCordRep@cord_internal@2@@Z + ??0?$CopyValueAdapter@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QAE@PBQAUCordRep@cord_internal@2@@Z ??0?$FixedArray@PAUCordRep@cord_internal@absl@@$0PPPPPPPP@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@@absl@@QAE@IABV?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@@Z ??0?$InlinedVector@H$0CP@V?$allocator@H@__1@std@@@absl@@QAE@XZ ??0?$InlinedVector@PAUCordRep@cord_internal@absl@@$01V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@@absl@@QAE@XZ @@ -1548,12 +1520,12 @@ EXPORTS ?AbslParseFlag@absl@@YA_NVstring_view@1@PAVTime@1@PAV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@@Z ?AbslUnparseFlag@absl@@YA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@VDuration@1@@Z ?AbslUnparseFlag@absl@@YA?AV?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@VTime@1@@Z - ?AcquireAllocatedData@?$Storage@H$0CP@V?$allocator@H@__1@std@@@inlined_vector_internal@absl@@QAEXPAV?$AllocationTransaction@V?$allocator@H@__1@std@@@23@@Z - ?AcquireAllocatedData@?$Storage@PAUCordRep@cord_internal@absl@@$01V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QAEXPAV?$AllocationTransaction@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@@23@@Z - ?AcquireAllocatedData@?$Storage@PAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QAEXPAV?$AllocationTransaction@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@@23@@Z - ?AcquireAllocatedData@?$Storage@PBUCordRep@cord_internal@absl@@$0CP@V?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QAEXPAV?$AllocationTransaction@V?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@@23@@Z - ?AcquireAllocatedData@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QAEXPAV?$AllocationTransaction@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@23@@Z - ?AcquireAllocatedData@?$Storage@USubRange@absl@@$0CP@V?$allocator@USubRange@absl@@@__1@std@@@inlined_vector_internal@absl@@QAEXPAV?$AllocationTransaction@V?$allocator@USubRange@absl@@@__1@std@@@23@@Z + ?AcquireAllocatedData@?$Storage@H$0CP@V?$allocator@H@__1@std@@@inlined_vector_internal@absl@@QAEXAAV?$AllocationTransaction@V?$allocator@H@__1@std@@@23@@Z + ?AcquireAllocatedData@?$Storage@PAUCordRep@cord_internal@absl@@$01V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QAEXAAV?$AllocationTransaction@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@@23@@Z + ?AcquireAllocatedData@?$Storage@PAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QAEXAAV?$AllocationTransaction@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@@23@@Z + ?AcquireAllocatedData@?$Storage@PBUCordRep@cord_internal@absl@@$0CP@V?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QAEXAAV?$AllocationTransaction@V?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@@23@@Z + ?AcquireAllocatedData@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QAEXAAV?$AllocationTransaction@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@23@@Z + ?AcquireAllocatedData@?$Storage@USubRange@absl@@$0CP@V?$allocator@USubRange@absl@@@__1@std@@@inlined_vector_internal@absl@@QAEXAAV?$AllocationTransaction@V?$allocator@USubRange@absl@@@__1@std@@@23@@Z ?Add@Filler@CordRepRing@cord_internal@absl@@QAEXPAUCordRep@34@II@Z ?AddDataOffset@CordRepRing@cord_internal@absl@@AAEXII@Z ?AddNode@CordForest@absl@@AAEXPAUCordRep@cord_internal@2@@Z @@ -1681,13 +1653,13 @@ EXPORTS ?ComputeCapacity@?$Storage@PAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@SAIII@Z ?ComputeCapacity@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@SAIII@Z ?ConcatNodes@CordForest@absl@@QAEPAUCordRep@cord_internal@2@XZ - ?ConstructNext@?$CopyValueAdapter@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QAEXPAV?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@PAPAUCordRep@cord_internal@3@@Z - ?ConstructNext@?$IteratorValueAdapter@V?$allocator@H@__1@std@@V?$move_iterator@PAH@23@@inlined_vector_internal@absl@@QAEXPAV?$allocator@H@__1@std@@PAH@Z - ?ConstructNext@?$IteratorValueAdapter@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@V?$move_iterator@PAPAUCordRep@cord_internal@absl@@@23@@inlined_vector_internal@absl@@QAEXPAV?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@PAPAUCordRep@cord_internal@3@@Z - ?ConstructNext@?$IteratorValueAdapter@V?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@V?$move_iterator@PAPBUCordRep@cord_internal@absl@@@23@@inlined_vector_internal@absl@@QAEXPAV?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@PAPBUCordRep@cord_internal@3@@Z - ?ConstructNext@?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__1@std@@PBUPayload@status_internal@absl@@@inlined_vector_internal@absl@@QAEXPAV?$allocator@UPayload@status_internal@absl@@@__1@std@@PAUPayload@status_internal@3@@Z - ?ConstructNext@?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__1@std@@V?$move_iterator@PAUPayload@status_internal@absl@@@23@@inlined_vector_internal@absl@@QAEXPAV?$allocator@UPayload@status_internal@absl@@@__1@std@@PAUPayload@status_internal@3@@Z - ?ConstructNext@?$IteratorValueAdapter@V?$allocator@USubRange@absl@@@__1@std@@V?$move_iterator@PAUSubRange@absl@@@23@@inlined_vector_internal@absl@@QAEXPAV?$allocator@USubRange@absl@@@__1@std@@PAUSubRange@3@@Z + ?ConstructNext@?$CopyValueAdapter@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QAEXAAV?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@PAPAUCordRep@cord_internal@3@@Z + ?ConstructNext@?$IteratorValueAdapter@V?$allocator@H@__1@std@@V?$move_iterator@PAH@23@@inlined_vector_internal@absl@@QAEXAAV?$allocator@H@__1@std@@PAH@Z + ?ConstructNext@?$IteratorValueAdapter@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@V?$move_iterator@PAPAUCordRep@cord_internal@absl@@@23@@inlined_vector_internal@absl@@QAEXAAV?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@PAPAUCordRep@cord_internal@3@@Z + ?ConstructNext@?$IteratorValueAdapter@V?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@V?$move_iterator@PAPBUCordRep@cord_internal@absl@@@23@@inlined_vector_internal@absl@@QAEXAAV?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@PAPBUCordRep@cord_internal@3@@Z + ?ConstructNext@?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__1@std@@PBUPayload@status_internal@absl@@@inlined_vector_internal@absl@@QAEXAAV?$allocator@UPayload@status_internal@absl@@@__1@std@@PAUPayload@status_internal@3@@Z + ?ConstructNext@?$IteratorValueAdapter@V?$allocator@UPayload@status_internal@absl@@@__1@std@@V?$move_iterator@PAUPayload@status_internal@absl@@@23@@inlined_vector_internal@absl@@QAEXAAV?$allocator@UPayload@status_internal@absl@@@__1@std@@PAUPayload@status_internal@3@@Z + ?ConstructNext@?$IteratorValueAdapter@V?$allocator@USubRange@absl@@@__1@std@@V?$move_iterator@PAUSubRange@absl@@@23@@inlined_vector_internal@absl@@QAEXAAV?$allocator@USubRange@absl@@@__1@std@@PAUSubRange@3@@Z ?Consume@cord_internal@absl@@YAXPAUCordRep@12@V?$FunctionRef@$$A6AXPAUCordRep@cord_internal@absl@@II@Z@2@@Z ?ConsumePrefix@absl@@YA_NPAVstring_view@1@V21@@Z ?ConsumeUnboundConversion@str_format_internal@absl@@YAPBDPBD0PAUUnboundConversion@12@PAH@Z @@ -1922,13 +1894,6 @@ EXPORTS ?FromUnixDuration@time_internal@absl@@YA?AVTime@2@VDuration@2@@Z ?FromUnixSeconds@cctz@time_internal@absl@@YA?AV?$time_point@Vsystem_clock@chrono@__1@std@@V?$duration@_JV?$ratio@$00$00@__1@std@@@234@@chrono@__1@std@@_J@Z ?Get@RefcountAndFlags@cord_internal@absl@@QBEHXZ - ?GetAllocPtr@?$Storage@H$0CP@V?$allocator@H@__1@std@@@inlined_vector_internal@absl@@QAEPAV?$allocator@H@__1@std@@XZ - ?GetAllocPtr@?$Storage@PAUCordRep@cord_internal@absl@@$01V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QAEPAV?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@XZ - ?GetAllocPtr@?$Storage@PAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QAEPAV?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@XZ - ?GetAllocPtr@?$Storage@PBUCordRep@cord_internal@absl@@$0CP@V?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QAEPAV?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@XZ - ?GetAllocPtr@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QAEPAV?$allocator@UPayload@status_internal@absl@@@__1@std@@XZ - ?GetAllocPtr@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QBEPBV?$allocator@UPayload@status_internal@absl@@@__1@std@@XZ - ?GetAllocPtr@?$Storage@USubRange@absl@@$0CP@V?$allocator@USubRange@absl@@@__1@std@@@inlined_vector_internal@absl@@QAEPAV?$allocator@USubRange@absl@@@__1@std@@XZ ?GetAllocatedCapacity@?$Storage@H$0CP@V?$allocator@H@__1@std@@@inlined_vector_internal@absl@@QBEIXZ ?GetAllocatedCapacity@?$Storage@PAUCordRep@cord_internal@absl@@$01V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QBEIXZ ?GetAllocatedCapacity@?$Storage@PAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QBEIXZ @@ -1947,6 +1912,13 @@ EXPORTS ?GetAllocator@?$AllocationTransaction@V?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QAEAAV?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@XZ ?GetAllocator@?$AllocationTransaction@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QAEAAV?$allocator@UPayload@status_internal@absl@@@__1@std@@XZ ?GetAllocator@?$AllocationTransaction@V?$allocator@USubRange@absl@@@__1@std@@@inlined_vector_internal@absl@@QAEAAV?$allocator@USubRange@absl@@@__1@std@@XZ + ?GetAllocator@?$Storage@H$0CP@V?$allocator@H@__1@std@@@inlined_vector_internal@absl@@QAEAAV?$allocator@H@__1@std@@XZ + ?GetAllocator@?$Storage@PAUCordRep@cord_internal@absl@@$01V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QAEAAV?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@XZ + ?GetAllocator@?$Storage@PAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QAEAAV?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@XZ + ?GetAllocator@?$Storage@PBUCordRep@cord_internal@absl@@$0CP@V?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QAEAAV?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@XZ + ?GetAllocator@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QAEAAV?$allocator@UPayload@status_internal@absl@@@__1@std@@XZ + ?GetAllocator@?$Storage@UPayload@status_internal@absl@@$00V?$allocator@UPayload@status_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QBEABV?$allocator@UPayload@status_internal@absl@@@__1@std@@XZ + ?GetAllocator@?$Storage@USubRange@absl@@$0CP@V?$allocator@USubRange@absl@@@__1@std@@@inlined_vector_internal@absl@@QAEAAV?$allocator@USubRange@absl@@@__1@std@@XZ ?GetAppendBuffer@CordRepBtree@cord_internal@absl@@QAE?AV?$Span@D@3@I@Z ?GetAppendBuffer@CordRepRing@cord_internal@absl@@QAE?AV?$Span@D@3@I@Z ?GetAppendBufferSlow@CordRepBtree@cord_internal@absl@@AAE?AV?$Span@D@3@I@Z @@ -2898,19 +2870,17 @@ EXPORTS ?allocate@?$allocator@UTransitionType@cctz@time_internal@absl@@@__1@std@@QAEPAUTransitionType@cctz@time_internal@absl@@I@Z ?allocate@?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@QAEPAUViableSubstitution@strings_internal@absl@@I@Z ?allocate@?$allocator@VFormatArgImpl@str_format_internal@absl@@@__1@std@@QAEPAVFormatArgImpl@str_format_internal@absl@@I@Z - ?allocate@?$allocator_traits@V?$allocator@H@__1@std@@@absl@@SAPAHAAV?$allocator@H@__1@std@@I@Z ?allocate@?$allocator_traits@V?$allocator@PAPBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@@__1@std@@SAPAPAPBVImpl@time_zone@cctz@time_internal@absl@@AAV?$allocator@PAPBVImpl@time_zone@cctz@time_internal@absl@@@23@I@Z ?allocate@?$allocator_traits@V?$allocator@PAU?$__hash_node_base@PAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PAX@__1@std@@@__1@std@@@__1@std@@@__1@std@@SAPAPAU?$__hash_node_base@PAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PAX@__1@std@@@23@AAV?$allocator@PAU?$__hash_node_base@PAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PAX@__1@std@@@__1@std@@@23@I@Z ?allocate@?$allocator_traits@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@@__1@std@@SAPAPAUCordRep@cord_internal@absl@@AAV?$allocator@PAUCordRep@cord_internal@absl@@@23@I@Z - ?allocate@?$allocator_traits@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@@absl@@SAPAPAUCordRep@cord_internal@2@AAV?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@I@Z ?allocate@?$allocator_traits@V?$allocator@PAVCordzHandle@cord_internal@absl@@@__1@std@@@__1@std@@SAPAPAVCordzHandle@cord_internal@absl@@AAV?$allocator@PAVCordzHandle@cord_internal@absl@@@23@I@Z - ?allocate@?$allocator_traits@V?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@@absl@@SAPAPBUCordRep@cord_internal@2@AAV?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@I@Z + ?allocate@?$allocator_traits@V?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@@__1@std@@SAPAPBUCordRep@cord_internal@absl@@AAV?$allocator@PBUCordRep@cord_internal@absl@@@23@I@Z ?allocate@?$allocator_traits@V?$allocator@PBVCordzHandle@cord_internal@absl@@@__1@std@@@__1@std@@SAPAPBVCordzHandle@cord_internal@absl@@AAV?$allocator@PBVCordzHandle@cord_internal@absl@@@23@I@Z ?allocate@?$allocator_traits@V?$allocator@PBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@@__1@std@@SAPAPBVImpl@time_zone@cctz@time_internal@absl@@AAV?$allocator@PBVImpl@time_zone@cctz@time_internal@absl@@@23@I@Z ?allocate@?$allocator_traits@V?$allocator@U?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PAX@__1@std@@@__1@std@@@__1@std@@SAPAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PAX@23@AAV?$allocator@U?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PAX@__1@std@@@23@I@Z ?allocate@?$allocator_traits@V?$allocator@UConversionItem@ParsedFormatBase@str_format_internal@absl@@@__1@std@@@__1@std@@SAPAUConversionItem@ParsedFormatBase@str_format_internal@absl@@AAV?$allocator@UConversionItem@ParsedFormatBase@str_format_internal@absl@@@23@I@Z - ?allocate@?$allocator_traits@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@absl@@SAPAUPayload@status_internal@2@AAV?$allocator@UPayload@status_internal@absl@@@__1@std@@I@Z - ?allocate@?$allocator_traits@V?$allocator@USubRange@absl@@@__1@std@@@absl@@SAPAUSubRange@2@AAV?$allocator@USubRange@absl@@@__1@std@@I@Z + ?allocate@?$allocator_traits@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@__1@std@@SAPAUPayload@status_internal@absl@@AAV?$allocator@UPayload@status_internal@absl@@@23@I@Z + ?allocate@?$allocator_traits@V?$allocator@USubRange@absl@@@__1@std@@@__1@std@@SAPAUSubRange@absl@@AAV?$allocator@USubRange@absl@@@23@I@Z ?allocate@?$allocator_traits@V?$allocator@UTransition@cctz@time_internal@absl@@@__1@std@@@__1@std@@SAPAUTransition@cctz@time_internal@absl@@AAV?$allocator@UTransition@cctz@time_internal@absl@@@23@I@Z ?allocate@?$allocator_traits@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__1@std@@@__1@std@@SAPAUTransitionType@cctz@time_internal@absl@@AAV?$allocator@UTransitionType@cctz@time_internal@absl@@@23@I@Z ?allocate@?$allocator_traits@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@SAPAUViableSubstitution@strings_internal@absl@@AAV?$allocator@UViableSubstitution@strings_internal@absl@@@23@I@Z @@ -3084,19 +3054,17 @@ EXPORTS ?deallocate@?$allocator@UTransitionType@cctz@time_internal@absl@@@__1@std@@QAEXPAUTransitionType@cctz@time_internal@absl@@I@Z ?deallocate@?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@QAEXPAUViableSubstitution@strings_internal@absl@@I@Z ?deallocate@?$allocator@VFormatArgImpl@str_format_internal@absl@@@__1@std@@QAEXPAVFormatArgImpl@str_format_internal@absl@@I@Z - ?deallocate@?$allocator_traits@V?$allocator@H@__1@std@@@absl@@SAXAAV?$allocator@H@__1@std@@PAHI@Z ?deallocate@?$allocator_traits@V?$allocator@PAPBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@@__1@std@@SAXAAV?$allocator@PAPBVImpl@time_zone@cctz@time_internal@absl@@@23@PAPAPBVImpl@time_zone@cctz@time_internal@absl@@I@Z ?deallocate@?$allocator_traits@V?$allocator@PAU?$__hash_node_base@PAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PAX@__1@std@@@__1@std@@@__1@std@@@__1@std@@SAXAAV?$allocator@PAU?$__hash_node_base@PAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PAX@__1@std@@@__1@std@@@23@PAPAU?$__hash_node_base@PAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PAX@__1@std@@@23@I@Z ?deallocate@?$allocator_traits@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@@__1@std@@SAXAAV?$allocator@PAUCordRep@cord_internal@absl@@@23@PAPAUCordRep@cord_internal@absl@@I@Z - ?deallocate@?$allocator_traits@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@@absl@@SAXAAV?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@PAPAUCordRep@cord_internal@2@I@Z ?deallocate@?$allocator_traits@V?$allocator@PAVCordzHandle@cord_internal@absl@@@__1@std@@@__1@std@@SAXAAV?$allocator@PAVCordzHandle@cord_internal@absl@@@23@PAPAVCordzHandle@cord_internal@absl@@I@Z - ?deallocate@?$allocator_traits@V?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@@absl@@SAXAAV?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@PAPBUCordRep@cord_internal@2@I@Z + ?deallocate@?$allocator_traits@V?$allocator@PBUCordRep@cord_internal@absl@@@__1@std@@@__1@std@@SAXAAV?$allocator@PBUCordRep@cord_internal@absl@@@23@PAPBUCordRep@cord_internal@absl@@I@Z ?deallocate@?$allocator_traits@V?$allocator@PBVCordzHandle@cord_internal@absl@@@__1@std@@@__1@std@@SAXAAV?$allocator@PBVCordzHandle@cord_internal@absl@@@23@PAPBVCordzHandle@cord_internal@absl@@I@Z ?deallocate@?$allocator_traits@V?$allocator@PBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@@__1@std@@SAXAAV?$allocator@PBVImpl@time_zone@cctz@time_internal@absl@@@23@PAPBVImpl@time_zone@cctz@time_internal@absl@@I@Z ?deallocate@?$allocator_traits@V?$allocator@U?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PAX@__1@std@@@__1@std@@@__1@std@@SAXAAV?$allocator@U?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PAX@__1@std@@@23@PAU?$__hash_node@U?$__hash_value_type@V?$basic_string@DU?$char_traits@D@__1@std@@V?$allocator@D@23@@__1@std@@PBVImpl@time_zone@cctz@time_internal@absl@@@__1@std@@PAX@23@I@Z ?deallocate@?$allocator_traits@V?$allocator@UConversionItem@ParsedFormatBase@str_format_internal@absl@@@__1@std@@@__1@std@@SAXAAV?$allocator@UConversionItem@ParsedFormatBase@str_format_internal@absl@@@23@PAUConversionItem@ParsedFormatBase@str_format_internal@absl@@I@Z - ?deallocate@?$allocator_traits@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@absl@@SAXAAV?$allocator@UPayload@status_internal@absl@@@__1@std@@PAUPayload@status_internal@2@I@Z - ?deallocate@?$allocator_traits@V?$allocator@USubRange@absl@@@__1@std@@@absl@@SAXAAV?$allocator@USubRange@absl@@@__1@std@@PAUSubRange@2@I@Z + ?deallocate@?$allocator_traits@V?$allocator@UPayload@status_internal@absl@@@__1@std@@@__1@std@@SAXAAV?$allocator@UPayload@status_internal@absl@@@23@PAUPayload@status_internal@absl@@I@Z + ?deallocate@?$allocator_traits@V?$allocator@USubRange@absl@@@__1@std@@@__1@std@@SAXAAV?$allocator@USubRange@absl@@@23@PAUSubRange@absl@@I@Z ?deallocate@?$allocator_traits@V?$allocator@UTransition@cctz@time_internal@absl@@@__1@std@@@__1@std@@SAXAAV?$allocator@UTransition@cctz@time_internal@absl@@@23@PAUTransition@cctz@time_internal@absl@@I@Z ?deallocate@?$allocator_traits@V?$allocator@UTransitionType@cctz@time_internal@absl@@@__1@std@@@__1@std@@SAXAAV?$allocator@UTransitionType@cctz@time_internal@absl@@@23@PAUTransitionType@cctz@time_internal@absl@@I@Z ?deallocate@?$allocator_traits@V?$allocator@UViableSubstitution@strings_internal@absl@@@__1@std@@@__1@std@@SAXAAV?$allocator@UViableSubstitution@strings_internal@absl@@@23@PAUViableSubstitution@strings_internal@absl@@I@Z diff --git a/util/BUILD.gn b/util/BUILD.gn index d2019244fd..5f3ff328fb 100644 --- a/util/BUILD.gn +++ b/util/BUILD.gn @@ -153,7 +153,7 @@ angle_source_set("angle_util_loader") { ] } -if (angle_has_rapidjson) { +if (angle_has_frame_capture) { angle_source_set("angle_frame_capture_test_utils") { testonly = true sources = [ |