mirror of
https://github.com/GerbilSoft/rom-properties.git
synced 2025-06-18 11:35:38 -04:00
![]() When compiling with LTO enabled on gcc-14.2.0 (e.g. with Ubuntu 25.04), the following warning (as error) appeared. Work around it by checking for str.empty() before resizing the string. [cmake] gcc.cmake: Remove -Wno-error=aggressive-loop-optimizations, since it's no longe needed. In function ‘assign’, inlined from ‘_S_assign’ at /usr/include/c++/14/bits/basic_string.h:455:23, inlined from ‘_S_assign’ at /usr/include/c++/14/bits/basic_string.h:450:7, inlined from ‘_M_replace_aux’ at /usr/include/c++/14/bits/basic_string.tcc:471:17, inlined from ‘append’ at /usr/include/c++/14/bits/basic_string.h:1499:30, inlined from ‘resize’ at /usr/include/c++/14/bits/basic_string.tcc:405:14, inlined from ‘resize’ at /usr/include/c++/14/bits/basic_string.h:1119:21, inlined from ‘TestBody’ at src/librptext/tests/TextFuncsTest.cpp:513:12: /usr/include/c++/14/bits/char_traits.h:837:25: error: iteration 9223372036854775807 invokes undefined behavior [-Werror=aggressive-loop-optimizations] 837 | assign(__s[__i], __a); | ^ /usr/include/c++/14/bits/char_traits.h:836:34: note: within this loop 836 | for (size_t __i = 0; __i < __n; ++__i) | ^ In function ‘assign’, inlined from ‘_S_assign’ at /usr/include/c++/14/bits/basic_string.h:455:23, inlined from ‘_S_assign’ at /usr/include/c++/14/bits/basic_string.h:450:7, inlined from ‘_M_replace_aux’ at /usr/include/c++/14/bits/basic_string.tcc:471:17, inlined from ‘append’ at /usr/include/c++/14/bits/basic_string.h:1499:30, inlined from ‘resize’ at /usr/include/c++/14/bits/basic_string.tcc:405:14, inlined from ‘resize’ at /usr/include/c++/14/bits/basic_string.h:1119:21, inlined from ‘TestBody’ at src/librptext/tests/TextFuncsTest.cpp:542:12: /usr/include/c++/14/bits/char_traits.h:837:25: error: iteration 9223372036854775807 invokes undefined behavior [-Werror=aggressive-loop-optimizations] 837 | assign(__s[__i], __a); | ^ /usr/include/c++/14/bits/char_traits.h:836:34: note: within this loop 836 | for (size_t __i = 0; __i < __n; ++__i) | ^ lto1: all warnings being treated as errors lto-wrapper: fatal error: /usr/bin/c++ returned 1 exit status compilation terminated. |
||
---|---|---|
.. | ||
libs | ||
macros | ||
platform | ||
toolchain | ||
cmake_uninstall.cmake.in | ||
options.cmake | ||
platform.cmake |