micmacIGN / micmac

Free open-source photogrammetry software tools
http://micmac.ensg.eu
Other
704 stars 151 forks source link

error: ‘void* __builtin_memcpy(void*, const void*, long unsigned int)’ forming offset [32, 41] is out of the bounds [0, 32] of object ‘aKeyOri2ImGen’ with type ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} [-Werror=array-bounds] #236

Open l29ah opened 10 months ago

l29ah commented 10 months ago

Trying to build git HEAD on Gentoo Lignux with gcc 12.3.1, getting the following error:

FAILED: src/CMakeFiles/elise.dir/uti_phgrm/CPP_Luxor.cpp.o 
ccache /usr/lib/ccache/bin/x86_64-pc-linux-gnu-g++ -Delise_EXPORTS -I/var/tmp/portage/media-gfx/micmac-9999/work/micmac-9999/include -I/var/tmp/portage/media-gfx/micmac-9999/work/micmac-9999/src/uti_image/Sift -I/var/tmp/portage/media-gfx/micmac-9999/work/micmac-9999/src/uti_image/Ann  -O2 -pipe -march=native -ftree-vectorize -malign-data=cacheline -mtls-dialect=gnu2 -std=c++11 -O2 -Wall -fPIC -Werror -fPIC -include StdAfx.h -MD -MT src/CMakeFiles/elise.dir/uti_phgrm/CPP_Luxor.cpp.o -MF src/CMakeFiles/elise.dir/uti_phgrm/CPP_Luxor.cpp.o.d -o src/CMakeFiles/elise.dir/uti_phgrm/CPP_Luxor.cpp.o -c /var/tmp/portage/media-gfx/micmac-9999/work/micmac-9999/src/uti_phgrm/CPP_Luxor.cpp
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/12/include/g++-v12/ios:40,
                 from /usr/lib/gcc/x86_64-pc-linux-gnu/12/include/g++-v12/istream:38,
                 from /usr/lib/gcc/x86_64-pc-linux-gnu/12/include/g++-v12/fstream:38,
                 from /var/tmp/portage/media-gfx/micmac-9999/work/micmac-9999/include/StdAfx.h:39:
In static member function ‘static std::char_traits<char>::char_type* std::char_traits<char>::copy(char_type*, const char_type*, std::size_t)’,
    inlined from ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’ at /usr/lib/gcc/x86_64-pc-linux-gnu/12/include/g++-v12/bits/basic_string.h:683:23,
    inlined from ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, const _CharT*) [with _CharT = char; _Traits = char_traits<char>; _Alloc = allocator<char>]’ at /usr/lib/gcc/x86_64-pc-linux-gnu/12/include/g++-v12/bits/basic_string.h:3563:43,
    inlined from ‘void cAppliLuxor::CalculFen()’ at /var/tmp/portage/media-gfx/micmac-9999/work/micmac-9999/src/uti_phgrm/CPP_Luxor.cpp:155:72:
/usr/lib/gcc/x86_64-pc-linux-gnu/12/include/g++-v12/bits/char_traits.h:435:56: error: ‘void* __builtin_memcpy(void*, const void*, long unsigned int)’ forming offset [32, 41] is out of the bounds [0, 32] of object ‘aKeyOri2ImGen’ with type ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} [-Werror=array-bounds]
  435 |         return static_cast<char_type*>(__builtin_memcpy(__s1, __s2, __n));
      |                                        ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
/var/tmp/portage/media-gfx/micmac-9999/work/micmac-9999/src/uti_phgrm/CPP_Luxor.cpp: In member function ‘void cAppliLuxor::CalculFen()’:
/var/tmp/portage/media-gfx/micmac-9999/work/micmac-9999/src/uti_phgrm/CPP_Luxor.cpp:155:17: note: ‘aKeyOri2ImGen’ declared here
  155 |     std::string aKeyOri2ImGen = std::string("NKS-Assoc-Im2Orient@-") + "Fen-";
      |                 ^~~~~~~~~~~~~
cc1plus: all warnings being treated as errors