facebookincubator / cinder

Cinder is Meta's internal performance-oriented production version of CPython.

Home Page:https://trycinder.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build error: C++20 ambiguous & forming offset 4 is out of the bounds

furkanonder opened this issue · comments

Compile command;

─san@san ~/cinder ‹cinder/3.10› 
╰─$ ./configure && make -j5  

Build Enviroment

╭─san@san ~ 
╰─$ uname -a                   
Linux san 6.3.6-arch1-1 #1 SMP PREEMPT_DYNAMIC Mon, 05 Jun 2023 15:12:57 +0000 x86_64 GNU/Linux
╭─san@san ~ 
╰─$ gcc -v                                               
Using built-in specs.
COLLECT_GCC=/usr/bin/gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/13.1.1/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /build/gcc/src/gcc/configure --enable-languages=ada,c,c++,d,fortran,go,lto,objc,obj-c++ --enable-bootstrap --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --with-build-config=bootstrap-lto --with-linker-hash-style=gnu --with-system-zlib --enable-__cxa_atexit --enable-cet=auto --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-default-ssp --enable-gnu-indirect-function --enable-gnu-unique-object --enable-libstdcxx-backtrace --enable-link-serialization=1 --enable-linker-build-id --enable-lto --enable-multilib --enable-plugin --enable-shared --enable-threads=posix --disable-libssp --disable-libstdcxx-pch --disable-werror
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 13.1.1 20230429 (GCC) 
╭─san@san ~ 
╰─$ 

Output:

>> Jit/code_allocator.o
In file included from Jit/bytecode.cpp:3:
./Jit/bytecode.h: In member function ‘bool jit::BytecodeInstructionBlock::Iterator::atEnd() const’:
./Jit/bytecode.h:147:22: error: C++20 says that these are ambiguous, even though the second is reversed: [-Werror]
  147 |       return idx_ == end_idx_;
      |                      ^~~~~~~~
In file included from ./Jit/bytecode.h:8:
./Jit/bytecode_offsets.h:50:18: note: candidate 1: ‘constexpr bool jit::BCOffsetBase<T>::operator==(const T&) const [with T = jit::BCIndex]’
   50 |   constexpr bool operator==(const T& other) const {
      |                  ^~~~~~~~
./Jit/bytecode_offsets.h:50:18: note: candidate 2: ‘constexpr bool jit::BCOffsetBase<T>::operator==(const T&) const [with T = jit::BCIndex]’ (reversed)
>> Jit/compiler.o
cc1plus: all warnings being treated as errors
make: *** [Makefile:2422: Jit/bytecode.o] Error 1
make: *** Waiting for unfinished jobs....
In file included from ./Jit/hir/hir.h:9,
                 from ./Jit/hir/preload.h:8,
                 from ./Jit/pyjit.h:13,
                 from ./Jit/codegen/code_section.h:5,
                 from ./Jit/codegen/annotations.h:5,
                 from ./Jit/codegen/environ.h:5,
                 from ./Jit/codegen/gen_asm.h:9,
                 from ./Jit/compiler.h:7,
                 from Jit/compiler.cpp:3:
./Jit/bytecode.h: In member function ‘bool jit::BytecodeInstructionBlock::Iterator::atEnd() const’:
./Jit/bytecode.h:147:22: error: C++20 says that these are ambiguous, even though the second is reversed: [-Werror]
  147 |       return idx_ == end_idx_;
      |                      ^~~~~~~~
In file included from ./Jit/bytecode.h:8:
./Jit/bytecode_offsets.h:50:18: note: candidate 1: ‘constexpr bool jit::BCOffsetBase<T>::operator==(const T&) const [with T = jit::BCIndex]’
   50 |   constexpr bool operator==(const T& other) const {
      |                  ^~~~~~~~
./Jit/bytecode_offsets.h:50:18: note: candidate 2: ‘constexpr bool jit::BCOffsetBase<T>::operator==(const T&) const [with T = jit::BCIndex]’ (reversed)
In file included from /usr/include/c++/13.1.1/bits/specfun.h:43,
                 from /usr/include/c++/13.1.1/cmath:3716,
                 from /usr/include/c++/13.1.1/math.h:36,
                 from /home/arf/cinder/Include/pyport.h:210,
                 from /home/arf/cinder/Include/Python.h:50,
                 from ./Jit/log.h:5,
                 from ./Jit/bitvector.h:5,
                 from Jit/bitvector.cpp:3:
In static member function ‘static constexpr _Up* std::__copy_move<_IsMove, true, std::random_access_iterator_tag>::__copy_m(_Tp*, _Tp*, _Up*) [with _Tp = unsigned int; _Up = unsigned int; bool _IsMove = false]’,
    inlined from ‘constexpr _OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_algobase.h:506:30,
    inlined from ‘constexpr _OI std::__copy_move_a1(_II, _II, _OI) [with bool _IsMove = false; _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_algobase.h:533:42,
    inlined from ‘constexpr _OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_algobase.h:540:31,
    inlined from ‘constexpr _OI std::copy(_II, _II, _OI) [with _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_algobase.h:633:7,
    inlined from ‘static _ForwardIterator std::__uninitialized_copy<true>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = unsigned int*; _ForwardIterator = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_uninitialized.h:147:27,
    inlined from ‘_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = unsigned int*; _ForwardIterator = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_uninitialized.h:185:15,
    inlined from ‘constexpr void fmt::v8::basic_memory_buffer<T, SIZE, Allocator>::grow(size_t) [with T = unsigned int; long unsigned int SIZE = 32; Allocator = std::allocator<unsigned int>]’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format.h:793:26,
    inlined from ‘constexpr void fmt::v8::detail::buffer<T>::try_reserve(size_t) [with T = unsigned int]’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h:846:39,
    inlined from ‘constexpr void fmt::v8::detail::buffer<T>::try_resize(size_t) [with T = unsigned int]’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h:837:16,
    inlined from ‘constexpr void fmt::v8::basic_memory_buffer<T, SIZE, Allocator>::resize(size_t) [with T = unsigned int; long unsigned int SIZE = 32; Allocator = std::allocator<unsigned int>]’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format.h:763:63,
    inlined from ‘constexpr void fmt::v8::detail::bigint::assign(uint64_t)’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format-inl.h:469:19,
    inlined from ‘constexpr void fmt::v8::detail::format_dragon(fp, bool, int, buffer<char>&, int&)’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format-inl.h:2242:17:
/usr/include/c++/13.1.1/bits/stl_algobase.h:437:30: error: ‘void* __builtin_memmove(void*, const void*, long unsigned int)’ forming offset 4 is out of the bounds [0, 4] [-Werror=array-bounds=]
  437 |             __builtin_memmove(__result, __first, sizeof(_Tp) * _Num);
      |             ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In static member function ‘static constexpr _Up* std::__copy_move<_IsMove, true, std::random_access_iterator_tag>::__copy_m(_Tp*, _Tp*, _Up*) [with _Tp = unsigned int; _Up = unsigned int; bool _IsMove = false]’,
    inlined from ‘constexpr _OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_algobase.h:506:30,
    inlined from ‘constexpr _OI std::__copy_move_a1(_II, _II, _OI) [with bool _IsMove = false; _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_algobase.h:533:42,
    inlined from ‘constexpr _OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_algobase.h:540:31,
    inlined from ‘constexpr _OI std::copy(_II, _II, _OI) [with _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_algobase.h:633:7,
    inlined from ‘static _ForwardIterator std::__uninitialized_copy<true>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = unsigned int*; _ForwardIterator = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_uninitialized.h:147:27,
    inlined from ‘_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = unsigned int*; _ForwardIterator = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_uninitialized.h:185:15,
    inlined from ‘constexpr void fmt::v8::basic_memory_buffer<T, SIZE, Allocator>::grow(size_t) [with T = unsigned int; long unsigned int SIZE = 32; Allocator = std::allocator<unsigned int>]’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format.h:793:26,
    inlined from ‘constexpr void fmt::v8::detail::buffer<T>::try_reserve(size_t) [with T = unsigned int]’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h:846:39,
    inlined from ‘constexpr void fmt::v8::detail::buffer<T>::try_resize(size_t) [with T = unsigned int]’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h:837:16,
    inlined from ‘constexpr void fmt::v8::basic_memory_buffer<T, SIZE, Allocator>::resize(size_t) [with T = unsigned int; long unsigned int SIZE = 32; Allocator = std::allocator<unsigned int>]’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format.h:763:63,
    inlined from ‘constexpr void fmt::v8::detail::bigint::assign(uint64_t)’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format-inl.h:469:19,
    inlined from ‘constexpr void fmt::v8::detail::format_dragon(fp, bool, int, buffer<char>&, int&)’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format-inl.h:2245:25:
/usr/include/c++/13.1.1/bits/stl_algobase.h:437:30: error: ‘void* __builtin_memmove(void*, const void*, long unsigned int)’ forming offset 4 is out of the bounds [0, 4] [-Werror=array-bounds=]
  437 |             __builtin_memmove(__result, __first, sizeof(_Tp) * _Num);
      |             ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In static member function ‘static constexpr _Up* std::__copy_move<_IsMove, true, std::random_access_iterator_tag>::__copy_m(_Tp*, _Tp*, _Up*) [with _Tp = unsigned int; _Up = unsigned int; bool _IsMove = false]’,
    inlined from ‘constexpr _OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_algobase.h:506:30,
    inlined from ‘constexpr _OI std::__copy_move_a1(_II, _II, _OI) [with bool _IsMove = false; _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_algobase.h:533:42,
    inlined from ‘constexpr _OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_algobase.h:540:31,
    inlined from ‘constexpr _OI std::copy(_II, _II, _OI) [with _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_algobase.h:633:7,
    inlined from ‘static _ForwardIterator std::__uninitialized_copy<true>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = unsigned int*; _ForwardIterator = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_uninitialized.h:147:27,
    inlined from ‘_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = unsigned int*; _ForwardIterator = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_uninitialized.h:185:15,
    inlined from ‘constexpr void fmt::v8::basic_memory_buffer<T, SIZE, Allocator>::grow(size_t) [with T = unsigned int; long unsigned int SIZE = 32; Allocator = std::allocator<unsigned int>]’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format.h:793:26,
    inlined from ‘constexpr void fmt::v8::detail::buffer<T>::try_reserve(size_t) [with T = unsigned int]’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h:846:39,
    inlined from ‘constexpr void fmt::v8::detail::buffer<T>::try_resize(size_t) [with T = unsigned int]’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h:837:16,
    inlined from ‘constexpr void fmt::v8::basic_memory_buffer<T, SIZE, Allocator>::resize(size_t) [with T = unsigned int; long unsigned int SIZE = 32; Allocator = std::allocator<unsigned int>]’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format.h:763:63,
    inlined from ‘constexpr void fmt::v8::detail::bigint::assign(uint64_t)’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format-inl.h:469:19,
    inlined from ‘constexpr void fmt::v8::detail::bigint::assign_pow10(int)’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format-inl.h:548:11,
    inlined from ‘constexpr void fmt::v8::detail::bigint::assign_pow10(int)’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format-inl.h:539:24,
    inlined from ‘constexpr void fmt::v8::detail::format_dragon(fp, bool, int, buffer<char>&, int&)’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format-inl.h:2249:29:
/usr/include/c++/13.1.1/bits/stl_algobase.h:437:30: error: ‘void* __builtin_memmove(void*, const void*, long unsigned int)’ forming offset 4 is out of the bounds [0, 4] [-Werror=array-bounds=]
  437 |             __builtin_memmove(__result, __first, sizeof(_Tp) * _Num);
      |             ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In static member function ‘static constexpr _Up* std::__copy_move<_IsMove, true, std::random_access_iterator_tag>::__copy_m(_Tp*, _Tp*, _Up*) [with _Tp = unsigned int; _Up = unsigned int; bool _IsMove = false]’,
    inlined from ‘constexpr _OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_algobase.h:506:30,
    inlined from ‘constexpr _OI std::__copy_move_a1(_II, _II, _OI) [with bool _IsMove = false; _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_algobase.h:533:42,
    inlined from ‘constexpr _OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_algobase.h:540:31,
    inlined from ‘constexpr _OI std::copy(_II, _II, _OI) [with _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_algobase.h:633:7,
    inlined from ‘static _ForwardIterator std::__uninitialized_copy<true>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = unsigned int*; _ForwardIterator = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_uninitialized.h:147:27,
    inlined from ‘_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = unsigned int*; _ForwardIterator = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_uninitialized.h:185:15,
    inlined from ‘constexpr void fmt::v8::basic_memory_buffer<T, SIZE, Allocator>::grow(size_t) [with T = unsigned int; long unsigned int SIZE = 32; Allocator = std::allocator<unsigned int>]’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format.h:793:26,
    inlined from ‘constexpr void fmt::v8::detail::buffer<T>::try_reserve(size_t) [with T = unsigned int]’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h:846:39,
    inlined from ‘constexpr void fmt::v8::detail::buffer<T>::try_resize(size_t) [with T = unsigned int]’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h:837:16,
    inlined from ‘constexpr void fmt::v8::basic_memory_buffer<T, SIZE, Allocator>::resize(size_t) [with T = unsigned int; long unsigned int SIZE = 32; Allocator = std::allocator<unsigned int>]’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format.h:763:63,
    inlined from ‘constexpr void fmt::v8::detail::bigint::assign(uint64_t)’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format-inl.h:469:19,
    inlined from ‘constexpr void fmt::v8::detail::format_dragon(fp, bool, int, buffer<char>&, int&)’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format-inl.h:2260:23:
/usr/include/c++/13.1.1/bits/stl_algobase.h:437:30: error: ‘void* __builtin_memmove(void*, const void*, long unsigned int)’ forming offset 4 is out of the bounds [0, 4] [-Werror=array-bounds=]
  437 |             __builtin_memmove(__result, __first, sizeof(_Tp) * _Num);
      |             ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In static member function ‘static constexpr _Up* std::__copy_move<_IsMove, true, std::random_access_iterator_tag>::__copy_m(_Tp*, _Tp*, _Up*) [with _Tp = unsigned int; _Up = unsigned int; bool _IsMove = false]’,
    inlined from ‘constexpr _OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_algobase.h:506:30,
    inlined from ‘constexpr _OI std::__copy_move_a1(_II, _II, _OI) [with bool _IsMove = false; _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_algobase.h:533:42,
    inlined from ‘constexpr _OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_algobase.h:540:31,
    inlined from ‘constexpr _OI std::copy(_II, _II, _OI) [with _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_algobase.h:633:7,
    inlined from ‘static _ForwardIterator std::__uninitialized_copy<true>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = unsigned int*; _ForwardIterator = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_uninitialized.h:147:27,
    inlined from ‘_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = unsigned int*; _ForwardIterator = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_uninitialized.h:185:15,
    inlined from ‘constexpr void fmt::v8::basic_memory_buffer<T, SIZE, Allocator>::grow(size_t) [with T = unsigned int; long unsigned int SIZE = 32; Allocator = std::allocator<unsigned int>]’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format.h:793:26,
    inlined from ‘constexpr void fmt::v8::detail::buffer<T>::try_reserve(size_t) [with T = unsigned int]’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h:846:39,
    inlined from ‘constexpr void fmt::v8::detail::buffer<T>::try_resize(size_t) [with T = unsigned int]’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h:837:16,
    inlined from ‘constexpr void fmt::v8::basic_memory_buffer<T, SIZE, Allocator>::resize(size_t) [with T = unsigned int; long unsigned int SIZE = 32; Allocator = std::allocator<unsigned int>]’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format.h:763:63,
    inlined from ‘constexpr void fmt::v8::detail::bigint::assign(uint64_t)’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format-inl.h:469:19,
    inlined from ‘constexpr void fmt::v8::detail::bigint::assign_pow10(int)’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format-inl.h:548:11,
    inlined from ‘constexpr void fmt::v8::detail::bigint::assign_pow10(int)’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format-inl.h:539:24,
    inlined from ‘constexpr void fmt::v8::detail::format_dragon(fp, bool, int, buffer<char>&, int&)’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format-inl.h:2264:29:
/usr/include/c++/13.1.1/bits/stl_algobase.h:437:30: error: ‘void* __builtin_memmove(void*, const void*, long unsigned int)’ forming offset 4 is out of the bounds [0, 4] [-Werror=array-bounds=]
  437 |             __builtin_memmove(__result, __first, sizeof(_Tp) * _Num);
      |             ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In static member function ‘static constexpr _Up* std::__copy_move<_IsMove, true, std::random_access_iterator_tag>::__copy_m(_Tp*, _Tp*, _Up*) [with _Tp = unsigned int; _Up = unsigned int; bool _IsMove = false]’,
    inlined from ‘constexpr _OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_algobase.h:506:30,
    inlined from ‘constexpr _OI std::__copy_move_a1(_II, _II, _OI) [with bool _IsMove = false; _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_algobase.h:533:42,
    inlined from ‘constexpr _OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_algobase.h:540:31,
    inlined from ‘constexpr _OI std::copy(_II, _II, _OI) [with _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_algobase.h:633:7,
    inlined from ‘static _ForwardIterator std::__uninitialized_copy<true>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = unsigned int*; _ForwardIterator = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_uninitialized.h:147:27,
    inlined from ‘_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = unsigned int*; _ForwardIterator = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_uninitialized.h:185:15,
    inlined from ‘constexpr void fmt::v8::basic_memory_buffer<T, SIZE, Allocator>::grow(size_t) [with T = unsigned int; long unsigned int SIZE = 32; Allocator = std::allocator<unsigned int>]’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format.h:793:26,
    inlined from ‘constexpr void fmt::v8::detail::buffer<T>::try_reserve(size_t) [with T = unsigned int]’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h:846:39,
    inlined from ‘constexpr void fmt::v8::detail::buffer<T>::try_resize(size_t) [with T = unsigned int]’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h:837:16,
    inlined from ‘constexpr void fmt::v8::basic_memory_buffer<T, SIZE, Allocator>::resize(size_t) [with T = unsigned int; long unsigned int SIZE = 32; Allocator = std::allocator<unsigned int>]’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format.h:763:63,
    inlined from ‘constexpr void fmt::v8::detail::bigint::assign(uint64_t)’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format-inl.h:469:19,
    inlined from ‘constexpr void fmt::v8::detail::format_dragon(fp, bool, int, buffer<char>&, int&)’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format-inl.h:2266:17:
/usr/include/c++/13.1.1/bits/stl_algobase.h:437:30: error: ‘void* __builtin_memmove(void*, const void*, long unsigned int)’ forming offset 4 is out of the bounds [0, 4] [-Werror=array-bounds=]
  437 |             __builtin_memmove(__result, __first, sizeof(_Tp) * _Num);
      |             ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./Jit/hir/hir.h:9,
                 from ./Jit/hir/preload.h:8,
                 from ./Jit/pyjit.h:13,
                 from ./Jit/codegen/code_section.h:5,
                 from ./Jit/code_allocator.h:7,
                 from Jit/code_allocator.cpp:3:
./Jit/bytecode.h: In member function ‘bool jit::BytecodeInstructionBlock::Iterator::atEnd() const’:
./Jit/bytecode.h:147:22: error: C++20 says that these are ambiguous, even though the second is reversed: [-Werror]
  147 |       return idx_ == end_idx_;
      |                      ^~~~~~~~
In file included from ./Jit/bytecode.h:8:
./Jit/bytecode_offsets.h:50:18: note: candidate 1: ‘constexpr bool jit::BCOffsetBase<T>::operator==(const T&) const [with T = jit::BCIndex]’
   50 |   constexpr bool operator==(const T& other) const {
      |                  ^~~~~~~~
./Jit/bytecode_offsets.h:50:18: note: candidate 2: ‘constexpr bool jit::BCOffsetBase<T>::operator==(const T&) const [with T = jit::BCIndex]’ (reversed)
./Jit/hir/hir.h: In member function ‘bool jit::hir::ExecutionBlock::operator==(const jit::hir::ExecutionBlock&) const’:
./Jit/hir/hir.h:72:62: error: C++20 says that these are ambiguous, even though the second is reversed: [-Werror]
   72 |     return (opcode == other.opcode) && (handler_off == other.handler_off) &&
      |                                                              ^~~~~~~~~~~
./Jit/bytecode_offsets.h:50:18: note: candidate 1: ‘constexpr bool jit::BCOffsetBase<T>::operator==(const T&) const [with T = jit::BCOffset]’
   50 |   constexpr bool operator==(const T& other) const {
      |                  ^~~~~~~~
./Jit/bytecode_offsets.h:50:18: note: candidate 2: ‘constexpr bool jit::BCOffsetBase<T>::operator==(const T&) const [with T = jit::BCOffset]’ (reversed)
./Jit/hir/hir.h: In member function ‘bool jit::hir::FrameState::operator==(const jit::hir::FrameState&) const’:
./Jit/hir/hir.h:194:40: error: C++20 says that these are ambiguous, even though the second is reversed: [-Werror]
  194 |     return (next_instr_offset == other.next_instr_offset) &&
      |                                        ^~~~~~~~~~~~~~~~~
./Jit/bytecode_offsets.h:50:18: note: candidate 1: ‘constexpr bool jit::BCOffsetBase<T>::operator==(const T&) const [with T = jit::BCOffset]’
   50 |   constexpr bool operator==(const T& other) const {
      |                  ^~~~~~~~
./Jit/bytecode_offsets.h:50:18: note: candidate 2: ‘constexpr bool jit::BCOffsetBase<T>::operator==(const T&) const [with T = jit::BCOffset]’ (reversed)
./Jit/hir/hir.h: In member function ‘bool jit::hir::ExecutionBlock::operator==(const jit::hir::ExecutionBlock&) const’:
./Jit/hir/hir.h:72:62: error: C++20 says that these are ambiguous, even though the second is reversed: [-Werror]
   72 |     return (opcode == other.opcode) && (handler_off == other.handler_off) &&
      |                                                              ^~~~~~~~~~~
./Jit/bytecode_offsets.h:50:18: note: candidate 1: ‘constexpr bool jit::BCOffsetBase<T>::operator==(const T&) const [with T = jit::BCOffset]’
   50 |   constexpr bool operator==(const T& other) const {
      |                  ^~~~~~~~
./Jit/bytecode_offsets.h:50:18: note: candidate 2: ‘constexpr bool jit::BCOffsetBase<T>::operator==(const T&) const [with T = jit::BCOffset]’ (reversed)
./Jit/hir/hir.h: In member function ‘bool jit::hir::FrameState::operator==(const jit::hir::FrameState&) const’:
./Jit/hir/hir.h:194:40: error: C++20 says that these are ambiguous, even though the second is reversed: [-Werror]
  194 |     return (next_instr_offset == other.next_instr_offset) &&
      |                                        ^~~~~~~~~~~~~~~~~
./Jit/bytecode_offsets.h:50:18: note: candidate 1: ‘constexpr bool jit::BCOffsetBase<T>::operator==(const T&) const [with T = jit::BCOffset]’
   50 |   constexpr bool operator==(const T& other) const {
      |                  ^~~~~~~~
./Jit/bytecode_offsets.h:50:18: note: candidate 2: ‘constexpr bool jit::BCOffsetBase<T>::operator==(const T&) const [with T = jit::BCOffset]’ (reversed)
cc1plus: all warnings being treated as errors
make: *** [Makefile:2422: Jit/bitvector.o] Error 1
In file included from ./Jit/hir/analysis.h:5,
                 from Jit/compiler.cpp:8:
./Jit/dataflow.h: In member function ‘void jit::optimizer::DataFlowAnalyzer<T>::RunAnalysis(bool)’:
./Jit/dataflow.h:206:19: error: ‘std::binder1st<_Operation> std::bind1st(const _Operation&, const _Tp&) [with _Operation = not_equal_to<jit::optimizer::DataFlowBlock*>; _Tp = jit::optimizer::DataFlowBlock*]’ is deprecated: use 'std::bind' instead [-Werror=deprecated-declarations]
  206 |       std::bind1st(
      |       ~~~~~~~~~~~~^
  207 |           std::not_equal_to<DataFlowBlock*>(),
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  208 |           forward ? entry_block_ : exit_block_));
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/13.1.1/bits/stl_function.h:1438,
                 from /usr/include/c++/13.1.1/functional:49,
                 from ./Jit/ref.h:7,
                 from ./Jit/log.h:8,
                 from ./Jit/bitvector.h:5,
                 from ./Jit/codegen/gen_asm.h:8:
/usr/include/c++/13.1.1/backward/binders.h:136:5: note: declared here
  136 |     bind1st(const _Operation& __fn, const _Tp& __x)
      |     ^~~~~~~
In file included from /usr/include/c++/13.1.1/string:51,
                 from /usr/include/c++/13.1.1/bits/locale_classes.h:40,
                 from /usr/include/c++/13.1.1/bits/ios_base.h:41,
                 from /usr/include/c++/13.1.1/streambuf:43,
                 from /usr/include/c++/13.1.1/bits/streambuf_iterator.h:35,
                 from /usr/include/c++/13.1.1/iterator:66,
                 from ./ThirdParty/asmjit/src/asmjit/./core/../core/../core/../core/../core/api-config.h:42,
                 from ./ThirdParty/asmjit/src/asmjit/./core/../core/../core/../core/globals.h:9,
                 from ./ThirdParty/asmjit/src/asmjit/./core/../core/../core/archcommons.h:13,
                 from ./ThirdParty/asmjit/src/asmjit/./core/../core/operand.h:9,
                 from ./ThirdParty/asmjit/src/asmjit/./core/archtraits.h:9,
                 from ./ThirdParty/asmjit/src/asmjit/./core.h:1828,
                 from ./ThirdParty/asmjit/src/asmjit/asmjit.h:27,
                 from ./Jit/code_allocator.h:5:
In static member function ‘static constexpr _Up* std::__copy_move<_IsMove, true, std::random_access_iterator_tag>::__copy_m(_Tp*, _Tp*, _Up*) [with _Tp = unsigned int; _Up = unsigned int; bool _IsMove = false]’,
    inlined from ‘constexpr _OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_algobase.h:506:30,
    inlined from ‘constexpr _OI std::__copy_move_a1(_II, _II, _OI) [with bool _IsMove = false; _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_algobase.h:533:42,
    inlined from ‘constexpr _OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_algobase.h:540:31,
    inlined from ‘constexpr _OI std::copy(_II, _II, _OI) [with _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_algobase.h:633:7,
    inlined from ‘static _ForwardIterator std::__uninitialized_copy<true>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = unsigned int*; _ForwardIterator = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_uninitialized.h:147:27,
    inlined from ‘_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = unsigned int*; _ForwardIterator = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_uninitialized.h:185:15,
    inlined from ‘constexpr void fmt::v8::basic_memory_buffer<T, SIZE, Allocator>::grow(size_t) [with T = unsigned int; long unsigned int SIZE = 32; Allocator = std::allocator<unsigned int>]’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format.h:793:26,
    inlined from ‘constexpr void fmt::v8::detail::buffer<T>::try_reserve(size_t) [with T = unsigned int]’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h:846:39,
    inlined from ‘constexpr void fmt::v8::detail::buffer<T>::try_resize(size_t) [with T = unsigned int]’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h:837:16,
    inlined from ‘constexpr void fmt::v8::basic_memory_buffer<T, SIZE, Allocator>::resize(size_t) [with T = unsigned int; long unsigned int SIZE = 32; Allocator = std::allocator<unsigned int>]’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format.h:763:63,
    inlined from ‘constexpr void fmt::v8::detail::bigint::assign(uint64_t)’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format-inl.h:469:19,
    inlined from ‘constexpr void fmt::v8::detail::format_dragon(fp, bool, int, buffer<char>&, int&)’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format-inl.h:2242:17:
/usr/include/c++/13.1.1/bits/stl_algobase.h:437:30: error: ‘void* __builtin_memmove(void*, const void*, long unsigned int)’ forming offset 4 is out of the bounds [0, 4] [-Werror=array-bounds=]
  437 |             __builtin_memmove(__result, __first, sizeof(_Tp) * _Num);
      |             ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In static member function ‘static constexpr _Up* std::__copy_move<_IsMove, true, std::random_access_iterator_tag>::__copy_m(_Tp*, _Tp*, _Up*) [with _Tp = unsigned int; _Up = unsigned int; bool _IsMove = false]’,
    inlined from ‘constexpr _OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_algobase.h:506:30,
    inlined from ‘constexpr _OI std::__copy_move_a1(_II, _II, _OI) [with bool _IsMove = false; _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_algobase.h:533:42,
    inlined from ‘constexpr _OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_algobase.h:540:31,
    inlined from ‘constexpr _OI std::copy(_II, _II, _OI) [with _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_algobase.h:633:7,
    inlined from ‘static _ForwardIterator std::__uninitialized_copy<true>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = unsigned int*; _ForwardIterator = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_uninitialized.h:147:27,
    inlined from ‘_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = unsigned int*; _ForwardIterator = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_uninitialized.h:185:15,
    inlined from ‘constexpr void fmt::v8::basic_memory_buffer<T, SIZE, Allocator>::grow(size_t) [with T = unsigned int; long unsigned int SIZE = 32; Allocator = std::allocator<unsigned int>]’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format.h:793:26,
    inlined from ‘constexpr void fmt::v8::detail::buffer<T>::try_reserve(size_t) [with T = unsigned int]’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h:846:39,
    inlined from ‘constexpr void fmt::v8::detail::buffer<T>::try_resize(size_t) [with T = unsigned int]’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h:837:16,
    inlined from ‘constexpr void fmt::v8::basic_memory_buffer<T, SIZE, Allocator>::resize(size_t) [with T = unsigned int; long unsigned int SIZE = 32; Allocator = std::allocator<unsigned int>]’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format.h:763:63,
    inlined from ‘constexpr void fmt::v8::detail::bigint::assign(uint64_t)’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format-inl.h:469:19,
    inlined from ‘constexpr void fmt::v8::detail::format_dragon(fp, bool, int, buffer<char>&, int&)’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format-inl.h:2245:25:
/usr/include/c++/13.1.1/bits/stl_algobase.h:437:30: error: ‘void* __builtin_memmove(void*, const void*, long unsigned int)’ forming offset 4 is out of the bounds [0, 4] [-Werror=array-bounds=]
  437 |             __builtin_memmove(__result, __first, sizeof(_Tp) * _Num);
      |             ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In static member function ‘static constexpr _Up* std::__copy_move<_IsMove, true, std::random_access_iterator_tag>::__copy_m(_Tp*, _Tp*, _Up*) [with _Tp = unsigned int; _Up = unsigned int; bool _IsMove = false]’,
    inlined from ‘constexpr _OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_algobase.h:506:30,
    inlined from ‘constexpr _OI std::__copy_move_a1(_II, _II, _OI) [with bool _IsMove = false; _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_algobase.h:533:42,
    inlined from ‘constexpr _OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_algobase.h:540:31,
    inlined from ‘constexpr _OI std::copy(_II, _II, _OI) [with _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_algobase.h:633:7,
    inlined from ‘static _ForwardIterator std::__uninitialized_copy<true>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = unsigned int*; _ForwardIterator = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_uninitialized.h:147:27,
    inlined from ‘_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = unsigned int*; _ForwardIterator = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_uninitialized.h:185:15,
    inlined from ‘constexpr void fmt::v8::basic_memory_buffer<T, SIZE, Allocator>::grow(size_t) [with T = unsigned int; long unsigned int SIZE = 32; Allocator = std::allocator<unsigned int>]’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format.h:793:26,
    inlined from ‘constexpr void fmt::v8::detail::buffer<T>::try_reserve(size_t) [with T = unsigned int]’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h:846:39,
    inlined from ‘constexpr void fmt::v8::detail::buffer<T>::try_resize(size_t) [with T = unsigned int]’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h:837:16,
    inlined from ‘constexpr void fmt::v8::basic_memory_buffer<T, SIZE, Allocator>::resize(size_t) [with T = unsigned int; long unsigned int SIZE = 32; Allocator = std::allocator<unsigned int>]’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format.h:763:63,
    inlined from ‘constexpr void fmt::v8::detail::bigint::assign(uint64_t)’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format-inl.h:469:19,
    inlined from ‘constexpr void fmt::v8::detail::bigint::assign_pow10(int)’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format-inl.h:548:11,
    inlined from ‘constexpr void fmt::v8::detail::bigint::assign_pow10(int)’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format-inl.h:539:24,
    inlined from ‘constexpr void fmt::v8::detail::format_dragon(fp, bool, int, buffer<char>&, int&)’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format-inl.h:2249:29:
/usr/include/c++/13.1.1/bits/stl_algobase.h:437:30: error: ‘void* __builtin_memmove(void*, const void*, long unsigned int)’ forming offset 4 is out of the bounds [0, 4] [-Werror=array-bounds=]
  437 |             __builtin_memmove(__result, __first, sizeof(_Tp) * _Num);
      |             ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In static member function ‘static constexpr _Up* std::__copy_move<_IsMove, true, std::random_access_iterator_tag>::__copy_m(_Tp*, _Tp*, _Up*) [with _Tp = unsigned int; _Up = unsigned int; bool _IsMove = false]’,
    inlined from ‘constexpr _OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_algobase.h:506:30,
    inlined from ‘constexpr _OI std::__copy_move_a1(_II, _II, _OI) [with bool _IsMove = false; _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_algobase.h:533:42,
    inlined from ‘constexpr _OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_algobase.h:540:31,
    inlined from ‘constexpr _OI std::copy(_II, _II, _OI) [with _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_algobase.h:633:7,
    inlined from ‘static _ForwardIterator std::__uninitialized_copy<true>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = unsigned int*; _ForwardIterator = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_uninitialized.h:147:27,
    inlined from ‘_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = unsigned int*; _ForwardIterator = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_uninitialized.h:185:15,
    inlined from ‘constexpr void fmt::v8::basic_memory_buffer<T, SIZE, Allocator>::grow(size_t) [with T = unsigned int; long unsigned int SIZE = 32; Allocator = std::allocator<unsigned int>]’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format.h:793:26,
    inlined from ‘constexpr void fmt::v8::detail::buffer<T>::try_reserve(size_t) [with T = unsigned int]’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h:846:39,
    inlined from ‘constexpr void fmt::v8::detail::buffer<T>::try_resize(size_t) [with T = unsigned int]’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h:837:16,
    inlined from ‘constexpr void fmt::v8::basic_memory_buffer<T, SIZE, Allocator>::resize(size_t) [with T = unsigned int; long unsigned int SIZE = 32; Allocator = std::allocator<unsigned int>]’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format.h:763:63,
    inlined from ‘constexpr void fmt::v8::detail::bigint::assign(uint64_t)’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format-inl.h:469:19,
    inlined from ‘constexpr void fmt::v8::detail::format_dragon(fp, bool, int, buffer<char>&, int&)’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format-inl.h:2260:23:
/usr/include/c++/13.1.1/bits/stl_algobase.h:437:30: error: ‘void* __builtin_memmove(void*, const void*, long unsigned int)’ forming offset 4 is out of the bounds [0, 4] [-Werror=array-bounds=]
  437 |             __builtin_memmove(__result, __first, sizeof(_Tp) * _Num);
      |             ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In static member function ‘static constexpr _Up* std::__copy_move<_IsMove, true, std::random_access_iterator_tag>::__copy_m(_Tp*, _Tp*, _Up*) [with _Tp = unsigned int; _Up = unsigned int; bool _IsMove = false]’,
    inlined from ‘constexpr _OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_algobase.h:506:30,
    inlined from ‘constexpr _OI std::__copy_move_a1(_II, _II, _OI) [with bool _IsMove = false; _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_algobase.h:533:42,
    inlined from ‘constexpr _OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_algobase.h:540:31,
    inlined from ‘constexpr _OI std::copy(_II, _II, _OI) [with _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_algobase.h:633:7,
    inlined from ‘static _ForwardIterator std::__uninitialized_copy<true>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = unsigned int*; _ForwardIterator = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_uninitialized.h:147:27,
    inlined from ‘_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = unsigned int*; _ForwardIterator = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_uninitialized.h:185:15,
    inlined from ‘constexpr void fmt::v8::basic_memory_buffer<T, SIZE, Allocator>::grow(size_t) [with T = unsigned int; long unsigned int SIZE = 32; Allocator = std::allocator<unsigned int>]’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format.h:793:26,
    inlined from ‘constexpr void fmt::v8::detail::buffer<T>::try_reserve(size_t) [with T = unsigned int]’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h:846:39,
    inlined from ‘constexpr void fmt::v8::detail::buffer<T>::try_resize(size_t) [with T = unsigned int]’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h:837:16,
    inlined from ‘constexpr void fmt::v8::basic_memory_buffer<T, SIZE, Allocator>::resize(size_t) [with T = unsigned int; long unsigned int SIZE = 32; Allocator = std::allocator<unsigned int>]’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format.h:763:63,
    inlined from ‘constexpr void fmt::v8::detail::bigint::assign(uint64_t)’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format-inl.h:469:19,
    inlined from ‘constexpr void fmt::v8::detail::bigint::assign_pow10(int)’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format-inl.h:548:11,
    inlined from ‘constexpr void fmt::v8::detail::bigint::assign_pow10(int)’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format-inl.h:539:24,
    inlined from ‘constexpr void fmt::v8::detail::format_dragon(fp, bool, int, buffer<char>&, int&)’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format-inl.h:2264:29:
/usr/include/c++/13.1.1/bits/stl_algobase.h:437:30: error: ‘void* __builtin_memmove(void*, const void*, long unsigned int)’ forming offset 4 is out of the bounds [0, 4] [-Werror=array-bounds=]
  437 |             __builtin_memmove(__result, __first, sizeof(_Tp) * _Num);
      |             ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In static member function ‘static constexpr _Up* std::__copy_move<_IsMove, true, std::random_access_iterator_tag>::__copy_m(_Tp*, _Tp*, _Up*) [with _Tp = unsigned int; _Up = unsigned int; bool _IsMove = false]’,
    inlined from ‘constexpr _OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_algobase.h:506:30,
    inlined from ‘constexpr _OI std::__copy_move_a1(_II, _II, _OI) [with bool _IsMove = false; _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_algobase.h:533:42,
    inlined from ‘constexpr _OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_algobase.h:540:31,
    inlined from ‘constexpr _OI std::copy(_II, _II, _OI) [with _II = unsigned int*; _OI = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_algobase.h:633:7,
    inlined from ‘static _ForwardIterator std::__uninitialized_copy<true>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = unsigned int*; _ForwardIterator = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_uninitialized.h:147:27,
    inlined from ‘_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = unsigned int*; _ForwardIterator = unsigned int*]’ at /usr/include/c++/13.1.1/bits/stl_uninitialized.h:185:15,
    inlined from ‘constexpr void fmt::v8::basic_memory_buffer<T, SIZE, Allocator>::grow(size_t) [with T = unsigned int; long unsigned int SIZE = 32; Allocator = std::allocator<unsigned int>]’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format.h:793:26,
    inlined from ‘constexpr void fmt::v8::detail::buffer<T>::try_reserve(size_t) [with T = unsigned int]’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h:846:39,
    inlined from ‘constexpr void fmt::v8::detail::buffer<T>::try_resize(size_t) [with T = unsigned int]’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h:837:16,
    inlined from ‘constexpr void fmt::v8::basic_memory_buffer<T, SIZE, Allocator>::resize(size_t) [with T = unsigned int; long unsigned int SIZE = 32; Allocator = std::allocator<unsigned int>]’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format.h:763:63,
    inlined from ‘constexpr void fmt::v8::detail::bigint::assign(uint64_t)’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format-inl.h:469:19,
    inlined from ‘constexpr void fmt::v8::detail::format_dragon(fp, bool, int, buffer<char>&, int&)’ at /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format-inl.h:2266:17:
/usr/include/c++/13.1.1/bits/stl_algobase.h:437:30: error: ‘void* __builtin_memmove(void*, const void*, long unsigned int)’ forming offset 4 is out of the bounds [0, 4] [-Werror=array-bounds=]
  437 |             __builtin_memmove(__result, __first, sizeof(_Tp) * _Num);
      |             ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/format.h:48,
                 from ./Jit/log.h:11:
/home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h: In instantiation of ‘constexpr fmt::v8::detail::value<Context> fmt::v8::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v8::basic_format_context<fmt::v8::appender, char>; type <anonymous> = fmt::v8::detail::type::custom_type; T = const jit::hir::RefKind&; typename std::enable_if<IS_PACKED, int>::type <anonymous> = 0]’:
/home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h:1855:77:   required from ‘constexpr fmt::v8::format_arg_store<Context, Args>::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const jit::hir::RefKind&, const jit::hir::ValueKind&, const char*&}; Context = fmt::v8::basic_format_context<fmt::v8::appender, char>; Args = {std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, jit::hir::RefKind, jit::hir::ValueKind, const char*}]’
/home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h:1872:38:   required from ‘constexpr fmt::v8::format_arg_store<Context, typename std::remove_cv<typename std::remove_reference<Args>::type>::type ...> fmt::v8::make_format_args(Args&& ...) [with Context = basic_format_context<appender, char>; Args = {std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const jit::hir::RefKind&, const jit::hir::ValueKind&, const char*&}]’
/home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h:3119:44:   required from ‘std::string fmt::v8::format(format_string<T ...>, T&& ...) [with T = {std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, const jit::hir::RefKind&, const jit::hir::ValueKind&, const char*}; std::string = std::__cxx11::basic_string<char>; format_string<T ...> = basic_format_string<char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, const jit::hir::RefKind&, const jit::hir::ValueKind&, const char*>]’
./Jit/deopt.h:68:23:   required from here
/home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h:1706:15: error: possibly dangling reference to a temporary [-Werror=dangling-reference]
 1706 |   const auto& arg = arg_mapper<Context>().map(std::forward<T>(val));
      |               ^~~
/home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h:1706:46: note: the temporary was destroyed at the end of the full expression ‘fmt::v8::detail::arg_mapper<fmt::v8::basic_format_context<fmt::v8::appender, char> >().fmt::v8::detail::arg_mapper<fmt::v8::basic_format_context<fmt::v8::appender, char> >::map<const jit::hir::RefKind&>((* & std::forward<const jit::hir::RefKind&>((* & val))))’
 1706 |   const auto& arg = arg_mapper<Context>().map(std::forward<T>(val));
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
/home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h: In instantiation of ‘constexpr fmt::v8::detail::value<Context> fmt::v8::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v8::basic_format_context<fmt::v8::appender, char>; type <anonymous> = fmt::v8::detail::type::custom_type; T = const jit::hir::ValueKind&; typename std::enable_if<IS_PACKED, int>::type <anonymous> = 0]’:
/home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h:1855:77:   required from ‘constexpr fmt::v8::format_arg_store<Context, Args>::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const jit::hir::RefKind&, const jit::hir::ValueKind&, const char*&}; Context = fmt::v8::basic_format_context<fmt::v8::appender, char>; Args = {std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, jit::hir::RefKind, jit::hir::ValueKind, const char*}]’
/home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h:1872:38:   required from ‘constexpr fmt::v8::format_arg_store<Context, typename std::remove_cv<typename std::remove_reference<Args>::type>::type ...> fmt::v8::make_format_args(Args&& ...) [with Context = basic_format_context<appender, char>; Args = {std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const jit::hir::RefKind&, const jit::hir::ValueKind&, const char*&}]’
/home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h:3119:44:   required from ‘std::string fmt::v8::format(format_string<T ...>, T&& ...) [with T = {std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, const jit::hir::RefKind&, const jit::hir::ValueKind&, const char*}; std::string = std::__cxx11::basic_string<char>; format_string<T ...> = basic_format_string<char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, const jit::hir::RefKind&, const jit::hir::ValueKind&, const char*>]’
./Jit/deopt.h:68:23:   required from here
/home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h:1706:15: error: possibly dangling reference to a temporary [-Werror=dangling-reference]
 1706 |   const auto& arg = arg_mapper<Context>().map(std::forward<T>(val));
      |               ^~~
/home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h:1706:46: note: the temporary was destroyed at the end of the full expression ‘fmt::v8::detail::arg_mapper<fmt::v8::basic_format_context<fmt::v8::appender, char> >().fmt::v8::detail::arg_mapper<fmt::v8::basic_format_context<fmt::v8::appender, char> >::map<const jit::hir::ValueKind&>((* & std::forward<const jit::hir::ValueKind&>((* & val))))’
 1706 |   const auto& arg = arg_mapper<Context>().map(std::forward<T>(val));
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
/home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h: In instantiation of ‘constexpr fmt::v8::detail::value<Context> fmt::v8::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v8::basic_format_context<fmt::v8::appender, char>; type <anonymous> = fmt::v8::detail::type::custom_type; T = fmt::v8::join_view<__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char>*, std::vector<std::__cxx11::basic_string<char> > >, __gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char>*, std::vector<std::__cxx11::basic_string<char> > >, char>&; typename std::enable_if<IS_PACKED, int>::type <anonymous> = 0]’:
/home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h:1855:77:   required from ‘constexpr fmt::v8::format_arg_store<Context, Args>::format_arg_store(T&& ...) [with T = {const char*&, const char* const&, int&, fmt::v8::join_view<__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, __gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, char>&}; Context = fmt::v8::basic_format_context<fmt::v8::appender, char>; Args = {const char*, const char*, int, fmt::v8::join_view<__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, __gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, char>}]’
/home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h:1872:38:   required from ‘constexpr fmt::v8::format_arg_store<Context, typename std::remove_cv<typename std::remove_reference<Args>::type>::type ...> fmt::v8::make_format_args(Args&& ...) [with Context = basic_format_context<appender, char>; Args = {const char*&, const char* const&, int&, join_view<__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, __gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, char>&}]’
/home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h:3119:44:   required from ‘std::string fmt::v8::format(format_string<T ...>, T&& ...) [with T = {const char*, const char* const&, int, join_view<__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, __gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, char>}; std::string = std::__cxx11::basic_string<char>; format_string<T ...> = basic_format_string<char, const char*, const char* const&, int, join_view<__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, __gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, char> >]’
./Jit/deopt.h:187:23:   required from here
/home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h:1706:15: error: possibly dangling reference to a temporary [-Werror=dangling-reference]
 1706 |   const auto& arg = arg_mapper<Context>().map(std::forward<T>(val));
      |               ^~~
/home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h:1706:46: note: the temporary was destroyed at the end of the full expression ‘fmt::v8::detail::arg_mapper<fmt::v8::basic_format_context<fmt::v8::appender, char> >().fmt::v8::detail::arg_mapper<fmt::v8::basic_format_context<fmt::v8::appender, char> >::map<fmt::v8::join_view<__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char>*, std::vector<std::__cxx11::basic_string<char> > >, __gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char>*, std::vector<std::__cxx11::basic_string<char> > >, char>&>((* & std::forward<fmt::v8::join_view<__gnu_cxx::__normal_iterator<__cxx11::basic_string<char>*, vector<__cxx11::basic_string<char> > >, __gnu_cxx::__normal_iterator<__cxx11::basic_string<char>*, vector<__cxx11::basic_string<char> > >, char>&>((* & val))))’
 1706 |   const auto& arg = arg_mapper<Context>().map(std::forward<T>(val));
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
/home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h: In instantiation of ‘constexpr fmt::v8::detail::value<Context> fmt::v8::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v8::basic_printf_context<fmt::v8::appender, char>; type <anonymous> = fmt::v8::detail::type::custom_type; T = const jit::codegen::PhyLocation::Reg&; typename std::enable_if<IS_PACKED, int>::type <anonymous> = 0]’:
/home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h:1855:77:   required from ‘constexpr fmt::v8::format_arg_store<Context, Args>::format_arg_store(T&& ...) [with T = {const jit::codegen::PhyLocation::Reg&}; Context = fmt::v8::basic_printf_context<fmt::v8::appender, char>; Args = {jit::codegen::PhyLocation::Reg}]’
/home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h:1872:38:   required from ‘constexpr fmt::v8::format_arg_store<Context, typename std::remove_cv<typename std::remove_reference<Args>::type>::type ...> fmt::v8::make_format_args(Args&& ...) [with Context = basic_printf_context<appender, char>; Args = {const jit::codegen::PhyLocation::Reg&}]’
/home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/printf.h:610:49:   required from ‘int fmt::v8::fprintf(FILE*, const S&, const T& ...) [with S = std::basic_string_view<char>; T = {jit::codegen::PhyLocation::Reg}; Char = char; FILE = FILE]’
./Jit/log.h:58:17:   required from ‘void jit::protected_fprintf(FILE*, std::string_view, Args&& ...) [with Args = {codegen::PhyLocation::Reg&}; FILE = FILE; std::string_view = std::basic_string_view<char>]’
./Jit/codegen/x86_64.h:94:5:   required from here
/home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h:1706:15: error: possibly dangling reference to a temporary [-Werror=dangling-reference]
 1706 |   const auto& arg = arg_mapper<Context>().map(std::forward<T>(val));
      |               ^~~
/home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h:1706:46: note: the temporary was destroyed at the end of the full expression ‘fmt::v8::detail::arg_mapper<fmt::v8::basic_printf_context<fmt::v8::appender, char> >().fmt::v8::detail::arg_mapper<fmt::v8::basic_printf_context<fmt::v8::appender, char> >::map<const jit::codegen::PhyLocation::Reg&>((* & std::forward<const jit::codegen::PhyLocation::Reg&>((* & val))))’
 1706 |   const auto& arg = arg_mapper<Context>().map(std::forward<T>(val));
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
/home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h: In instantiation of ‘constexpr fmt::v8::detail::value<Context> fmt::v8::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v8::basic_printf_context<fmt::v8::appender, char>; type <anonymous> = fmt::v8::detail::type::custom_type; T = const jit::hir::Function&; typename std::enable_if<IS_PACKED, int>::type <anonymous> = 0]’:
/home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h:1855:77:   required from ‘constexpr fmt::v8::format_arg_store<Context, Args>::format_arg_store(T&& ...) [with T = {const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const jit::hir::Function&}; Context = fmt::v8::basic_printf_context<fmt::v8::appender, char>; Args = {std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, jit::hir::Function}]’
/home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h:1872:38:   required from ‘constexpr fmt::v8::format_arg_store<Context, typename std::remove_cv<typename std::remove_reference<Args>::type>::type ...> fmt::v8::make_format_args(Args&& ...) [with Context = basic_printf_context<appender, char>; Args = {const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const jit::hir::Function&}]’
/home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/printf.h:610:49:   required from ‘int fmt::v8::fprintf(FILE*, const S&, const T& ...) [with S = std::basic_string_view<char>; T = {std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, jit::hir::Function}; Char = char; FILE = FILE]’
./Jit/log.h:58:17:   required from ‘void jit::protected_fprintf(FILE*, std::string_view, Args&& ...) [with Args = {std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, hir::Function&}; FILE = FILE; std::string_view = std::basic_string_view<char>]’
Jit/compiler.cpp:124:3:   required from here
/home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h:1706:15: error: possibly dangling reference to a temporary [-Werror=dangling-reference]
 1706 |   const auto& arg = arg_mapper<Context>().map(std::forward<T>(val));
      |               ^~~
/home/arf/cinder/ThirdParty/fmt-8.1.1/include/fmt/core.h:1706:46: note: the temporary was destroyed at the end of the full expression ‘fmt::v8::detail::arg_mapper<fmt::v8::basic_printf_context<fmt::v8::appender, char> >().fmt::v8::detail::arg_mapper<fmt::v8::basic_printf_context<fmt::v8::appender, char> >::map<const jit::hir::Function&>((* & std::forward<const jit::hir::Function&>((* & val))))’
 1706 |   const auto& arg = arg_mapper<Context>().map(std::forward<T>(val));
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
make: *** [Makefile:2422: Jit/code_allocator.o] Error 1
cc1plus: all warnings being treated as errors
make: *** [Makefile:2422: Jit/compiler.o] Error 1

I think this is partially fixed in fb84e34