From: <sv...@op...> - 2024-08-14 09:24:18
|
Author: manx Date: Wed Aug 14 11:24:07 2024 New Revision: 21432 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=21432 Log: Merged revision(s) 21428 from trunk/OpenMPT: [Fix] GCC 14 optimizer is still on crack. ........ Modified: branches/OpenMPT-1.28/ (props changed) branches/OpenMPT-1.28/soundlib/Load_xm.cpp Modified: branches/OpenMPT-1.28/soundlib/Load_xm.cpp ============================================================================== --- branches/OpenMPT-1.28/soundlib/Load_xm.cpp Wed Aug 14 11:23:45 2024 (r21431) +++ branches/OpenMPT-1.28/soundlib/Load_xm.cpp Wed Aug 14 11:24:07 2024 (r21432) @@ -753,8 +753,8 @@ #define str_tooMuchPatternData ("Warning: File format limit was reached. Some pattern data may not get written to file.") #define str_pattern ("pattern") -#if MPT_GCC_AT_LEAST(13, 0, 0) && MPT_GCC_BEFORE(14, 1, 0) -// work-around massively confused GCC 13 optimizer: +#if MPT_GCC_AT_LEAST(13, 0, 0) && MPT_GCC_BEFORE(15, 1, 0) +// work-around massively confused GCC 13/14 optimizer: // /usr/include/c++/13/bits/stl_algobase.h:437:30: warning: 'void* __builtin_memcpy(void*, const void*, long unsigned int)' writing between 3 and 9223372036854775806 bytes into a region of size 0 overflows the destination [-Wstringop-overflow=] template <typename Tcont2, typename Tcont1> static MPT_NOINLINE Tcont1 & gcc_append(Tcont1 & cont1, const Tcont2 & cont2) { @@ -1034,7 +1034,7 @@ } } -#if MPT_GCC_AT_LEAST(13, 0, 0) && MPT_GCC_BEFORE(14, 1, 0) +#if MPT_GCC_AT_LEAST(13, 0, 0) && MPT_GCC_BEFORE(15, 1, 0) gcc_append(samples, additionalSamples); #else samples.insert(samples.end(), additionalSamples.begin(), additionalSamples.end()); |