pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/devel/robin-map



Module Name:    pkgsrc
Committed By:   adam
Date:           Sun Aug  4 07:18:56 UTC 2024

Modified Files:
        pkgsrc/devel/robin-map: Makefile distinfo

Log Message:
robin-map: updated to 1.3.0

v1.3.0

Add erase_fast(iterator pos) method which in contrast to erase(iterator pos) doesn't return an iterator, avoiding the cost of looking for the next element after erasure of the element at iterator pos.

v1.2.2

Specify library version & versioning rules in headers
Mark error_message in numeric_cast as unused to avoid compiler warning in some cases
Remove support for CMake < 3.3

v1.2.1

Fix missing project version increment in CMake

v1.2.0

This release fixes a rare but critical bug which only occurs when a very long collision chain (> 32 767) occurs due to a poor hash function, see first bullet point. Upgrade is recommended.

Keep rehashing if dist_from_ideal_bucket is > DIST_FROM_IDEAL_BUCKET_LIMIT during insertion
During insertion a check was done on dist_from_ideal_bucket to be sure it doesn't becomes bigger than DIST_FROM_IDEAL_BUCKET_LIMIT but this was only done during the robin swap. A check should also be 
done beforehand if we find an empty bucket otherwise the variable could overflow and lead to bugs. This commit adds this check.
The bug should only manifest itself if the collision chain becomes larger than 32 767 due to a very poor hash function.
Disable CMake install rule if robin_map is used as subproject
Replace deprecated std::aligned_storage since C++23 by alignas
Raise DIST_FROM_IDEAL_BUCKET_LIMIT to 8192
Clear and shrink the moved hash table in the move operator to be coherent with the move constructor
When using C++17, std::launder the reinterpreted pointer from std::aligned_storage to adapt to the change of object model introduced in P0137R1. Fix potential but very unlikely undefined behaviour.
C++17 introduced a change in the object model with P0137R1 which now requires the reinterpreted pointer from std::aligned_storage to be laundered. See the following discussion for some details 
https://stackoverflow.com/questions/47735657/does-reinterpret-casting-stdaligned-storage-to-t-without-stdlaunder-violat
When exceptions are disabled, only print the error message when defined(TSL_DEBUG) instead of !defined(NDEBUG)
Check that bucket_count doesn't exceed max_bucket_count() after the constructor initialization
max_bucket_count() method relies on m_buckets_data which needs to be properly initialized first


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 pkgsrc/devel/robin-map/Makefile
cvs rdiff -u -r1.3 -r1.4 pkgsrc/devel/robin-map/distinfo

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/devel/robin-map/Makefile
diff -u pkgsrc/devel/robin-map/Makefile:1.1 pkgsrc/devel/robin-map/Makefile:1.2
--- pkgsrc/devel/robin-map/Makefile:1.1 Mon Jan 18 12:01:10 2021
+++ pkgsrc/devel/robin-map/Makefile     Sun Aug  4 07:18:56 2024
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.1 2021/01/18 12:01:10 nia Exp $
+# $NetBSD: Makefile,v 1.2 2024/08/04 07:18:56 adam Exp $
 
-DISTNAME=      robin-map-0.6.3
+DISTNAME=      robin-map-1.3.0
 CATEGORIES=    devel
 MASTER_SITES=  ${MASTER_SITE_GITHUB:=Tessil/}
 GITHUB_TAG=    v${PKGVERSION_NOREV}
@@ -10,7 +10,7 @@ HOMEPAGE=     https://github.com/Tessil/robi
 COMMENT=       C++ implementation of a fast hash map and hash set
 LICENSE=       mit
 
-USE_CMAKE=     yes
 USE_LANGUAGES= c c++
 
+.include "../../devel/cmake/build.mk"
 .include "../../mk/bsd.pkg.mk"

Index: pkgsrc/devel/robin-map/distinfo
diff -u pkgsrc/devel/robin-map/distinfo:1.3 pkgsrc/devel/robin-map/distinfo:1.4
--- pkgsrc/devel/robin-map/distinfo:1.3 Tue Oct 26 10:19:22 2021
+++ pkgsrc/devel/robin-map/distinfo     Sun Aug  4 07:18:56 2024
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.3 2021/10/26 10:19:22 nia Exp $
+$NetBSD: distinfo,v 1.4 2024/08/04 07:18:56 adam Exp $
 
-BLAKE2s (robin-map-0.6.3.tar.gz) = a2b05288acb996654795e2c000e6ffae6fb37f6eceb7b54b8798bd9d8fb9492a
-SHA512 (robin-map-0.6.3.tar.gz) = 485557f300d33bda62bb8accdf246819ee8ffe956bc022e7ddca54ff6ad1a9fdb8db8d80690add3ef238e834d1eb8e2905920cb0a0674e7df010f6946d01297b
-Size (robin-map-0.6.3.tar.gz) = 64506 bytes
+BLAKE2s (robin-map-1.3.0.tar.gz) = 0f21b5cbfb07724f3956ea8ccd30f111de2f3f0a5b04561b0600c86e8ab38073
+SHA512 (robin-map-1.3.0.tar.gz) = 862cb98d771d1acb692e27d1cc8a4f2cda0883b66af7b38b63ea702ed2d4fc4d49e5700ca4d5f5148fee132f36e111c4839d4f8c52c96a9c60f3937d941b2320
+Size (robin-map-1.3.0.tar.gz) = 70562 bytes



Home | Main Index | Thread Index | Old Index