From 3222983c593d1fb4a2b5386f9795531723d7fa4e Mon Sep 17 00:00:00 2001 From: Leonard Hecker Date: Wed, 21 Feb 2024 03:05:20 +0100 Subject: [PATCH 1/2] Fix a x86 miscompilation caused by MSVC 19.38 --- src/inc/til/bitmap.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/inc/til/bitmap.h b/src/inc/til/bitmap.h index 38213500477..f6b1102c35a 100644 --- a/src/inc/til/bitmap.h +++ b/src/inc/til/bitmap.h @@ -23,7 +23,7 @@ namespace til // Terminal Implementation Library. Also: "Today I Learned" using pointer = const til::rect*; using reference = const til::rect&; - _bitmap_const_iterator(const dynamic_bitset& values, til::rect rc, ptrdiff_t pos) : + _bitmap_const_iterator(const dynamic_bitset& values, til::rect rc, ptrdiff_t pos) : _values(values), _rc(rc), _pos(pos), @@ -77,7 +77,7 @@ namespace til // Terminal Implementation Library. Also: "Today I Learned" } private: - const dynamic_bitset& _values; + const dynamic_bitset& _values; const til::rect _rc; size_t _pos; size_t _nextPos; @@ -133,7 +133,7 @@ namespace til // Terminal Implementation Library. Also: "Today I Learned" } }; - template> + template> class bitmap { public: @@ -172,7 +172,7 @@ namespace til // Terminal Implementation Library. Also: "Today I Learned" _alloc{ allocator }, _sz(sz), _rc(sz), - _bits(_sz.area(), fill ? std::numeric_limits::max() : 0, _alloc), + _bits(_sz.area(), fill ? std::numeric_limits::max() : 0, _alloc), _runs{ _alloc } { } @@ -538,7 +538,7 @@ namespace til // Terminal Implementation Library. Also: "Today I Learned" allocator_type _alloc; til::size _sz; til::rect _rc; - dynamic_bitset _bits; + dynamic_bitset _bits; mutable std::optional> _runs; @@ -553,7 +553,7 @@ namespace til // Terminal Implementation Library. Also: "Today I Learned" namespace pmr { - using bitmap = ::til::details::bitmap>; + using bitmap = ::til::details::bitmap>; } } From 52d4a7bc200c4f8dc480537f9f0f59aa38d429bd Mon Sep 17 00:00:00 2001 From: Leonard Hecker Date: Wed, 21 Feb 2024 15:19:13 +0100 Subject: [PATCH 2/2] This is a weird API --- src/inc/til/bitmap.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/inc/til/bitmap.h b/src/inc/til/bitmap.h index f6b1102c35a..3934af878cc 100644 --- a/src/inc/til/bitmap.h +++ b/src/inc/til/bitmap.h @@ -172,7 +172,7 @@ namespace til // Terminal Implementation Library. Also: "Today I Learned" _alloc{ allocator }, _sz(sz), _rc(sz), - _bits(_sz.area(), fill ? std::numeric_limits::max() : 0, _alloc), + _bits(_sz.area(), fill ? std::numeric_limits::max() : 0, _alloc), _runs{ _alloc } { }