-
Notifications
You must be signed in to change notification settings - Fork 7
Closed
Labels
Boost ReviewCollected Comments from Boost Review PeriodCollected Comments from Boost Review Period
Description
The following:
#include <boost/decimal.hpp>
using namespace boost::decimal;
void f(decimal32 v)
{
char buff[64]{};
auto r = boost::decimal::to_chars(buff, buff + sizeof(buff), v);
*r.ptr = 0;
std::cout << buff << std::endl;
}
int main() { f(1e-40_df); }Emits the following warning:
[build] In file included from /usr/include/string.h:535,
[build] from /usr/include/c++/12/cstring:42,
[build] from [redacted]/boost-root/libs/decimal/include/boost/decimal/detail/wide-integer/uintwide_t.hpp:28,
[build] from [redacted]/boost-root/libs/decimal/include/boost/decimal/detail/emulated128.hpp:13,
[build] from [redacted]/boost-root/libs/decimal/include/boost/decimal/detail/type_traits.hpp:11,
[build] from [redacted]/boost-root/libs/decimal/include/boost/decimal/detail/attributes.hpp:9,
[build] from [redacted]/boost-root/libs/decimal/include/boost/decimal/decimal32.hpp:9,
[build] from [redacted]/boost-root/libs/decimal/include/boost/decimal.hpp:27,
[build] from [redacted]/boost-root/libs/mysql/example/main.cpp:1:
[build] In function ‘void* memset(void*, int, size_t)’,
[build] inlined from ‘constexpr boost::decimal::to_chars_result boost::decimal::detail::to_chars_fixed_impl(char*, char*, const TargetDecimalType&, boost::decimal::chars_format, int) [with TargetDecimalType = boost::decimal::decimal32]’ at [redacted]/boost-root/libs/decimal/include/boost/decimal/charconv.hpp:576:24,
[build] inlined from ‘constexpr boost::decimal::to_chars_result boost::decimal::detail::to_chars_impl(char*, char*, TargetDecimalType, boost::decimal::chars_format, int) [with TargetDecimalType = boost::decimal::decimal32]’ at [redacted]/boost-root/libs/decimal/include/boost/decimal/charconv.hpp:865:47,
[build] inlined from ‘constexpr boost::decimal::to_chars_result boost::decimal::to_chars(char*, char*, decimal32)’ at [redacted]/boost-root/libs/decimal/include/boost/decimal/charconv.hpp:914:33,
[build] inlined from ‘void f(boost::decimal::decimal32)’ at [redacted]/boost-root/libs/mysql/example/main.cpp:8:38:
[build] /usr/include/x86_64-linux-gnu/bits/string_fortified.h:59:33: error: ‘void* __builtin___memset_chk(void*, int, long unsigned int, long unsigned int)’ specified bound 18446744073709551615 exceeds maximum object size 9223372036854775807 [-Werror=stringop-overflow=]
[build] 59 | return __builtin___memset_chk (__dest, __ch, __len,
[build] | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
[build] 60 | __glibc_objsize0 (__dest));
Command line:
/usr/bin/g++-12 -I[redacted]/boost-root/libs/decimal/include -O3 -DNDEBUG -std=gnu++23 -Wextra -Werror -c main.cpp
This is likely spurious, and can be suppressed with pragma warning.
Metadata
Metadata
Assignees
Labels
Boost ReviewCollected Comments from Boost Review PeriodCollected Comments from Boost Review Period