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

Open
#114 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
30/100
Issue type
Bug
Clarity
Needs clarification
Activity status
Stale
Tech stack
cpp

Research direction

Reproduce the failure with ./configure && make -j5 using the reported GCC 13.1.1 environment. Start with Jit/bytecode.h line 147 and Jit/bytecode_offsets.h line 50, then inspect the fmt-8.1.1 paths in ThirdParty; done means the build completes without these -Werror failures.

Written by the indexing model from the issue text.

Description

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
Dominant language
Python
Stars
3.8k
Forks
139
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from facebookincubator/MetaPython

All issues in facebookincubator/MetaPython

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.