Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
furkanonder opened this issue Jun 10, 2023 · 1 comment
Open

Comments

@furkanonder
Copy link
Contributor

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
@tekknolagi
Copy link
Contributor

I think this is partially fixed in fb84e34

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants