On Sat, Feb 09, 2019 at 09:24:33AM +0000, Girar Builder pender robot wrote: > http://git.altlinux.org/tasks/archive/done/_215/221014/logs/events.1.3.log > > 2019-Feb-09 08:18:45 :: task #221014 for sisyphus started by ldv: > #100 build 8.2.1-alt4 from /people/ldv/packages/gcc8.git fetched at 2019-Feb-08 10:31:28 [...] > 2019-Feb-09 08:39:33 :: gcc8: closes bugs: 36038 36045 [...] > 2019-Feb-09 09:24:15 :: updated /gears/g/gcc8.git branch `sisyphus' > 2019-Feb-09 09:24:31 :: gears update OK > 2019-Feb-09 09:24:31 :: task #221014 for sisyphus DONE В этой сборке g++ (не gcc, только g++) по умолчанию включено -Werror=return-type; это было сделано после того, как стало ясно, что, начиная с версии 8, g++ при включённой оптимизации в следующих двух случаях генерит код, практически непригодный для выполнения: 1. no return statement in function returning non-void 2. control reaches end of non-void function Согласно стандарту C++, компилятор при обработке такого кода праве делать всё что угодно, и g++ теперь буквально не делает возврата из таких функций. Прежние версии g++ вели себя более гуманно, реализуя поведение, свойственное компиляторам C: программы работали нормально, когда не использовали возвращаемое значение таких функций. Таким образом, при использовании g++ >= 8 все такие функции следует исправить, либо меняя тип возвращаемого значения на void, либо реализуя возвращение значения во всех случаях. Я ожидаю, что исправлению подлежат около 80 пакетов, более точно можно будет сказать по результатам тестовой пересборки. Подробнее о проблеме см. https://bugzilla.altlinux.org/36038 -- ldv