Questing

root@Unimatrix13-Noble:/# g++ -O0 -fdiagnostics-color=always -Wall -Wextra 
-Wno-overloaded-virtual     -Wno-deprecated -Wno-deprecated-declarations 
-pedantic -O3 -DNDEBUG     -Wall -Wextra -Wno-overloaded-virtual 
-Wno-deprecated     -Wno-deprecated-declarations -pedantic -Werror -Wall 
-Wextra -Wswitch-enum     -std=gnu++20 -Wno-error=array-bounds     -c -o repro 
repro.cpp
In file included from /usr/include/string.h:548,
                 from /usr/include/c++/15/cstring:48,
                 from /usr/include/boost/multiprecision/cpp_int.hpp:12,
                 from repro.cpp:1:
In function 'void* memcpy(void*, const void*, size_t)',
    inlined from 'void boost::multiprecision::backends::cpp_int_base<MinBits, 
MaxBits, boost::multiprecision::signed_magnitude, Checked, Allocator, 
false>::resize(std::size_t, std::size_t) [with long unsigned int MinBits = 0; 
long unsigned int MaxBits = 18446744073709551615; 
boost::multiprecision::cpp_int_check_type Checked = 
boost::multiprecision::unchecked; Allocator = std::allocator<long long unsigned 
int>]' at /usr/include/boost/multiprecision/cpp_int.hpp:382:21,
    inlined from 'constexpr typename std::enable_if<(std::is_same<A, long long 
unsigned int>::value && (! std::integral_constant<bool, 
boost::multiprecision::backends::is_trivial_cpp_int<boost::multiprecision::backends::cpp_int_backend<MinBits,
 MaxBits, SignType, Checked, Allocator> >::value>::value)), 
boost::multiprecision::backends::cpp_int_backend<MinBits, MaxBits, SignType, 
Checked, Allocator>&>::type 
boost::multiprecision::backends::cpp_int_backend<MinBits, MaxBits, SignType, 
Checked, Allocator>::operator=(A) [with A = long long unsigned int; long 
unsigned int MinBits = 0; long unsigned int MaxBits = 0; 
boost::multiprecision::cpp_integer_type SignType = 
boost::multiprecision::signed_magnitude; 
boost::multiprecision::cpp_int_check_type Checked = 
boost::multiprecision::unchecked; Allocator = std::allocator<long long unsigned 
int>]' at /usr/include/boost/multiprecision/cpp_int.hpp:1551:19,
    inlined from 'void boost::multiprecision::backends::left_shift_byte(Int&, 
boost::multiprecision::double_limb_type) [with Int = cpp_int_backend<>]' at 
/usr/include/boost/multiprecision/cpp_int/bitwise.hpp:347:14,
    inlined from 'constexpr typename std::enable_if<(! 
boost::multiprecision::backends::is_trivial_cpp_int<boost::multiprecision::backends::cpp_int_backend<MinBits,
 MaxBits, SignType, Checked, Allocator> >::value)>::type 
boost::multiprecision::backends::eval_left_shift(cpp_int_backend<MinBits, 
MaxBits, SignType, Checked, Allocator>&, 
boost::multiprecision::double_limb_type) [with long unsigned int MinBits1 = 0; 
long unsigned int MaxBits1 = 0; boost::multiprecision::cpp_integer_type 
SignType1 = boost::multiprecision::signed_magnitude; 
boost::multiprecision::cpp_int_check_type Checked1 = 
boost::multiprecision::unchecked; Allocator1 = std::allocator<long long 
unsigned int>]' at /usr/include/boost/multiprecision/cpp_int/bitwise.hpp:500:22,
    inlined from 'constexpr typename std::enable_if<(! 
boost::multiprecision::backends::is_trivial_cpp_int<boost::multiprecision::backends::cpp_int_backend<MinBits,
 MaxBits, SignType, Checked, Allocator> >::value)>::type 
boost::multiprecision::backends::eval_left_shift(cpp_int_backend<MinBits, 
MaxBits, SignType, Checked, Allocator>&, 
boost::multiprecision::double_limb_type) [with long unsigned int MinBits1 = 0; 
long unsigned int MaxBits1 = 0; boost::multiprecision::cpp_integer_type 
SignType1 = boost::multiprecision::signed_magnitude; 
boost::multiprecision::cpp_int_check_type Checked1 = 
boost::multiprecision::unchecked; Allocator1 = std::allocator<long long 
unsigned int>]' at /usr/include/boost/multiprecision/cpp_int/bitwise.hpp:464:1,
    inlined from 'constexpr typename 
std::enable_if<(boost::multiprecision::detail::is_integral<Arithmetic>::value 
&& (boost::multiprecision::number_category<Num>::value == 
boost::multiprecision::number_kind_integer)), 
boost::multiprecision::number<Backend, boost::multiprecision::et_on> >::type 
boost::multiprecision::operator<<(number<Backend, 
boost::multiprecision::et_on>&&, const I&) [with B = 
backends::cpp_int_backend<>; I = unsigned int]' at 
/usr/include/boost/multiprecision/detail/et_ops.hpp:1367:19,
    inlined from 'BigInt calcm(unsigned int)' at repro.cpp:6:29:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:29:33: warning: 'void* 
__builtin___memcpy_chk(void*, const void*, long unsigned int, long unsigned 
int)' forming offset [8, 23] is out of the bounds [0, 8] [-Warray-bounds=]
   29 |   return __builtin___memcpy_chk (__dest, __src, __len,
      |          ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
   30 |                                  __glibc_objsize0 (__dest));
      |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~
root@Unimatrix13-Noble:/# dpkg -l |grep boost
ii  libboost-iostreams1.88.0:amd64 1.88.0-1.4ubuntu1                amd64       
 Boost.Iostreams Library
ii  libboost1.83-dev:amd64         1.83.0-5ubuntu1.1                amd64       
 Boost C++ Libraries development files


Had to also ignore another security flag due to new gcc, and boost1.88 is the 
default there so no big issue, but looks compiling!

** Tags removed: verification-needed-questing
** Tags added: verification-done-questing

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2122352

Title:
  [SRU] Noble/1.83: compile error re: undefined behavior (fix available)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/boost1.83/+bug/2122352/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to