Skip to content

build warning with gcc 12 #54736

Closed
Closed
@richardlau

Description

We recently switched to build with gcc 12 on RHEL (other platforms to follow) in nodejs/build#3886.
This is causing ubi81_sharedlibs_openssl111fips_x64 to fail as it builds with --error-on-warn.

e.g. https://ci.nodejs.org/job/node-test-commit-linux-containered/45894/nodes=ubi81_sharedlibs_openssl111fips_x64/

07:14:38 In file included from /opt/rh/gcc-toolset-12/root/usr/include/c++/12/string:40,
07:14:38                  from /opt/rh/gcc-toolset-12/root/usr/include/c++/12/bits/locale_classes.h:40,
07:14:38                  from /opt/rh/gcc-toolset-12/root/usr/include/c++/12/locale:39,
07:14:38                  from ../src/util-inl.h:29,
07:14:38                  from ../src/node_dotenv.h:6,
07:14:38                  from ../src/node_dotenv.cc:1:
07:14:38 In static member function 'static constexpr std::char_traits<char>::char_type* std::char_traits<char>::copy(char_type*, const char_type*, std::size_t)',
07:14:38     inlined from 'static constexpr void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_S_copy(_CharT*, const _CharT*, size_type) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]' at /opt/rh/gcc-toolset-12/root/usr/include/c++/12/bits/basic_string.h:423:21,
07:14:38     inlined from 'constexpr std::__cxx11::basic_string<_CharT, _Traits, _Allocator>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_replace(size_type, size_type, const _CharT*, size_type) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]' at /opt/rh/gcc-toolset-12/root/usr/include/c++/12/bits/basic_string.tcc:532:22,
07:14:38     inlined from 'constexpr std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::replace(size_type, size_type, const _CharT*, size_type) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]' at /opt/rh/gcc-toolset-12/root/usr/include/c++/12/bits/basic_string.h:2171:19,
07:14:38     inlined from 'constexpr std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::replace(size_type, size_type, const _CharT*) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]' at /opt/rh/gcc-toolset-12/root/usr/include/c++/12/bits/basic_string.h:2196:22,
07:14:38     inlined from 'void node::Dotenv::ParseContent(std::string_view)' at ../src/node_dotenv.cc:164:35:
07:14:38 /opt/rh/gcc-toolset-12/root/usr/include/c++/12/bits/char_traits.h:431:56: error: 'void* __builtin_memcpy(void*, const void*, long unsigned int)' accessing 9223372036854775810 or more bytes at offsets [2, 9223372036854775807] and 1 may overlap up to 9223372036854775813 bytes at offset -3 [-Werror=restrict]
07:14:38   431 |         return static_cast<char_type*>(__builtin_memcpy(__s1, __s2, __n));
07:14:38       |                                        ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
07:14:38 cc1plus: all warnings being treated as errors
07:14:38 make[2]: *** [libnode.target.mk:445: /home/iojs/build/workspace/node-test-commit-linux-containered/out/Release/obj.target/libnode/src/node_dotenv.o] Error 1

Metadata

Assignees

No one assigned

    Labels

    buildIssues and PRs related to build files or the CI.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions