summaryrefslogtreecommitdiff
path: root/contrib/llvm-project
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2020-09-03 18:34:01 +0000
committerDimitry Andric <dim@FreeBSD.org>2020-09-03 18:34:01 +0000
commit031db28b2b2f7a0b367e7fb60e6658e9b4e5ca00 (patch)
tree3f5b0e3251bf642e8b499935b5cabe4dfda51a1a /contrib/llvm-project
parenta2a9ef4beb4e0a988d26d5ba80c7b930fd1414db (diff)
downloadsrc-test-031db28b2b2f7a0b367e7fb60e6658e9b4e5ca00.tar.gz
src-test-031db28b2b2f7a0b367e7fb60e6658e9b4e5ca00.zip
Merge commit f26fc568402f from llvm git (by me):
Eliminate the sizing template parameter N from CoalescingBitVector Since the parameter is not used anywhere, and the default size of 16 apparently causes PR47359, remove it. This ensures that IntervalMap will automatically determine the optimal size, using its NodeSizer struct. Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D87044 This should fix 'Assertion failed: (Elements + Grow <= Nodes * Capacity && "Not enough room for elements"), function distribute, file /usr/src/contrib/llvm-project/llvm/lib/Support/IntervalMap.cpp, line 123.' when building the x11-toolkits/py-wxPython40 port on a i386 host. Reported by: zeising MFC after: 6 weeks X-MFC-With: r364284
Notes
Notes: svn path=/head/; revision=365307
Diffstat (limited to 'contrib/llvm-project')
-rw-r--r--contrib/llvm-project/llvm/include/llvm/ADT/CoalescingBitVector.h7
1 files changed, 3 insertions, 4 deletions
diff --git a/contrib/llvm-project/llvm/include/llvm/ADT/CoalescingBitVector.h b/contrib/llvm-project/llvm/include/llvm/ADT/CoalescingBitVector.h
index f8c8fec0ec9e7..0a7dcfe226315 100644
--- a/contrib/llvm-project/llvm/include/llvm/ADT/CoalescingBitVector.h
+++ b/contrib/llvm-project/llvm/include/llvm/ADT/CoalescingBitVector.h
@@ -34,15 +34,14 @@ namespace llvm {
/// performance for non-sequential find() operations.
///
/// \tparam IndexT - The type of the index into the bitvector.
-/// \tparam N - The first N coalesced intervals of set bits are stored in-place.
-template <typename IndexT, unsigned N = 16> class CoalescingBitVector {
+template <typename IndexT> class CoalescingBitVector {
static_assert(std::is_unsigned<IndexT>::value,
"Index must be an unsigned integer.");
- using ThisT = CoalescingBitVector<IndexT, N>;
+ using ThisT = CoalescingBitVector<IndexT>;
/// An interval map for closed integer ranges. The mapped values are unused.
- using MapT = IntervalMap<IndexT, char, N>;
+ using MapT = IntervalMap<IndexT, char>;
using UnderlyingIterator = typename MapT::const_iterator;