Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix various C++20 compilation related issues #9878

Merged
merged 7 commits into from
May 8, 2024
Merged

Conversation

rouault
Copy link
Member

@rouault rouault commented May 8, 2024

Fixes #9875

Avoids
```
In file included from /usr/include/c++/13.2.1/ios:42,
                 from /usr/include/c++/13.2.1/ostream:40,
                 from /usr/include/c++/13.2.1/bits/unique_ptr.h:42,
                 from /usr/include/c++/13.2.1/memory:78,
                 from /home/even/gdal/gdal/port/cpl_error.h:255,
                 from /home/even/gdal/gdal/port/cpl_string.h:35,
                 from /home/even/gdal/gdal/ogr/ogr_xerces.h:36,
                 from /home/even/gdal/gdal/ogr/ogrsf_frmts/gmlas/ogr_gmlas.h:35,
                 from /home/even/gdal/gdal/ogr/ogrsf_frmts/gmlas/ogrgmlasutils.cpp:31:
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)',
    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 /usr/include/c++/13.2.1/bits/basic_string.h:430:21,
    inlined from 'constexpr void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_mutate(size_type, size_type, const _CharT*, size_type) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]' at /usr/include/c++/13.2.1/bits/basic_string.tcc:335:15,
    inlined from 'constexpr std::__cxx11::basic_string<_CharT, _Traits, _Allocator>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_replace_aux(size_type, size_type, size_type, _CharT) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]' at /usr/include/c++/13.2.1/bits/basic_string.tcc:468:17,
    inlined from 'constexpr std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::append(size_type, _CharT) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]' at /usr/include/c++/13.2.1/bits/basic_string.h:1488:30,
    inlined from 'constexpr void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::resize(size_type, _CharT) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]' at /usr/include/c++/13.2.1/bits/basic_string.tcc:405:14,
    inlined from 'constexpr void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::resize(size_type) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]' at /usr/include/c++/13.2.1/bits/basic_string.h:1114:21,
    inlined from 'CPLString OGRGMLASAddSerialNumber(const CPLString&, int, size_t, int)' at /home/even/gdal/gdal/ogr/ogrsf_frmts/gmlas/ogrgmlasutils.cpp:205:26:
/usr/include/c++/13.2.1/bits/char_traits.h:435:56: error: 'void* __builtin_memcpy(void*, const void*, long unsigned int)' accessing 9223372036854775808 or more bytes at offsets 0 and 0 may overlap up to 9223372036854775809 bytes at offset -1 [-Werror=restrict]
  435 |         return static_cast<char_type*>(__builtin_memcpy(__s1, __s2, __n));
      |                                        ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
```
@coveralls
Copy link
Collaborator

Coverage Status

coverage: 69.09% (-0.005%) from 69.095%
when pulling e0ff450 on rouault:fix_9875
into cb54f88 on OSGeo:master.

@rouault rouault merged commit 5307c99 into OSGeo:master May 8, 2024
34 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Build fails with C++20 and PoDoFo >= 0.10
2 participants