From 038561296676d1cae4a3cee30f8c924befbb6083 Mon Sep 17 00:00:00 2001 From: Evan Brown Date: Tue, 12 Mar 2024 14:29:39 -0700 Subject: Add extern templates for common swisstable types. Motivation: mitigate linker input size increase from swisstable optimizations. Note: the changes in raw_hash_set.h are fixing build errors that happened when adding the explicit instantiations. The change in unchecked_deref is because set iterators have const reference access whereas map iterators have mutable reference access and the function is never actually called for sets (it's used in raw_hash_map) so it wasn't needed before. I'm not sure why the soo_slot/soo_iterator problems didn't cause compile errors earlier. PiperOrigin-RevId: 615174043 Change-Id: Iac5eb2332a76e9b70021156fbb2b8def47a5391d --- CMake/AbseilDll.cmake | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'CMake') diff --git a/CMake/AbseilDll.cmake b/CMake/AbseilDll.cmake index 47f3beeb..4beafd7a 100644 --- a/CMake/AbseilDll.cmake +++ b/CMake/AbseilDll.cmake @@ -68,7 +68,9 @@ set(ABSL_INTERNAL_DLL_FILES "container/btree_set.h" "container/fixed_array.h" "container/flat_hash_map.h" + "container/flat_hash_map.cc" "container/flat_hash_set.h" + "container/flat_hash_set.cc" "container/inlined_vector.h" "container/internal/btree.h" "container/internal/btree_container.h" @@ -91,7 +93,9 @@ set(ABSL_INTERNAL_DLL_FILES "container/internal/raw_hash_set.h" "container/internal/tracked.h" "container/node_hash_map.h" + "container/node_hash_map.cc" "container/node_hash_set.h" + "container/node_hash_set.cc" "crc/crc32c.cc" "crc/crc32c.h" "crc/internal/cpu_detect.cc" -- cgit v1.2.3