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