On Thu, Jun 04, 2009 at 02:45:21AM +0400, Dmitry V. Levin wrote: > > > Мне кажется что не надо включать -Werror флаги в компиляторе по > > > умолчанию. Компилятор это же не только для сборки пакетов, чтобы > > > местные политики туда засовывать. > > > > > > Мы и так уже засунули в компилятор --as-needed и FORTIFY_SOURCE. > > > > Лично я их благополучно оттуда выкинул. И так же благополучно включил > > по-умолчанию в %optflags. С тоски зрения сборки пакетов у меня ничего не > > изменилось, > > Это значит, что вам повезло с хорошим качеством и малым количеством > пакетов. > > > зато компилятором теперь можно пользоваться НЕ ТОЛЬКО для сборки > > пакетов. Я считаю (как обычно - ошибочно), что gcc разрешено пользоваться не > > только для сборки ALT-пакетов:) > > Ответ на вопрос, что лучше, пропатчить все пакеты на тему правильного > использования %optflags, или патчить сборку сторонней софтины на тему > отключения некоторых умолчаний, добавленных в gcc, у каждого свой. > Если бы на вопросы подобного рода не было бы многообразия ответов, то > не было бы такого многообразия дистрибутивов. Дело ещё в том что gcc как величайшее достижение человечества особо не вызывает энтузиазма. Известно например что msvc генерирует код который работает в полтора раза быстрее чем gcc. А уж какие он предупреждения выдает это спасибо на том что есть. Например, что касается конструкций вида printf(str). Пусть эта конструкция находится в статической функции. Сможет ли gcc в таком случае проверить все вызовы статической функции, включая полный откат назад (back propagation) по всем вызывающим статическим функциям? То есть подавить предупреждение, если вызов с неправильным аргументом str логически невозможен?