rom-properties/cmake
David Korth 28b649388d [librptext/tests] TextFuncsTest: Work around the aggressive-loop-optimizations warning.
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.
2025-04-20 11:34:43 -04:00
..
libs [cmake] CheckPugiXML.cmake: PugiXML 1.10 doesn't define the alias target "pugixml::pugixml". 2025-04-20 04:11:50 -04:00
macros [cmake] CPUInstructionSetFlags.cmake: Disable NEON on armhf for now. (except MSVC) 2025-04-20 04:13:18 -04:00
platform [librptext/tests] TextFuncsTest: Work around the aggressive-loop-optimizations warning. 2025-04-20 11:34:43 -04:00
toolchain [scripts] package.cmd: Add ARM, ARM64, and ARM64EC. 2023-07-16 18:28:21 -04:00
cmake_uninstall.cmake.in [cmake] cmake_uninstall.cmake.in: Use EXECUTE_PROCESS() instead of EXEC_PROGRAM(). 2024-03-03 12:51:03 -05:00
options.cmake Missed a few TinyXML2 remnants. Updated for PugiXML. 2025-04-02 00:19:34 -04:00
platform.cmake Remove IFUNC support. 2025-03-29 16:46:51 -04:00