Разработчики проекта LLVM сообщили (http://blog.llvm.org/2010/02/dragonegg-successfully-self-hos...) о новом достижении - GCC-плагин DragonEgg (http://dragonegg.llvm.org/) достиг состояния, позволяющего пересобрать самого себя. DragonEgg представляет собой подключаемый к набору компиляторов GCC плагин, позволяющий в максимально прозрачном режиме использовать в стандартном GCC оптимизаторы и генераторы кода, разработанные в рамках LLVM. LLVM компилирует программы в промежуточный платформонезависимый байткод RISC-подобных виртуальных инструкций (низкоуровневая виртуальная машина с многоуровневой системой оптимизации), который затем может быть преобразован при помощи JIT-компилятора в машинные инструкции непосредственно в момент выполнения программы.
Одним из самых надежных тестов работоспособности компиляторов является пересборка собственной кодовой базы. DragonEgg на днях успешно перешагнул этот барьер: вначале с использованием DragonEgg были пересобраны исходные тексты GCC-4.5...URL: http://blog.llvm.org/2010/02/dragonegg-successfully-self-hos...
Новость: http://www.opennet.me/opennews/art.shtml?num=25551
Ну и развлечения у ребят(о списке внизу)А по сабжу интересно - это всё кто-то собирается использовать? Без сарказма.
>это всё кто-то собирается использовать?да. apple
Да, FreeBSD. Подозреваю что Juniper Networks будут очень рады, у них уже были тёрки с GNU из-за gcc.Да, Google. Собственно они и разрабатывают Unlanden Swallow под собственные нужды, говорят значительно снизит нагрузку на сервера.
Да, я. PHP ненавижу уже очень давно и стараюсь искоренять где только возможно за извечную глючность и бажность. Возможность выполнять/компилировать эту хрень нормальным компилятором - это большой плюс.
...возможность транслировать баги PHP на уровено машинного кода ? :-))
Ну или на худой конец не падать в корку в случае неправильного порядка подгрузки модулей.
за 10 лет юзания впервые читаю об этом. прям фрибизиди какой-то! %-|
возьмите нормальный линукс, поставьте оптимизатор и громко смейтесь и показывайте пальцем на тех, у кого скрипты работают дольше 0.06 секунды в присутсвии начальства.
поразитесь, насколько эффективно
Нет вот за линукс большое спасибо. Вечно ископамая весрия пыха да ещё собраная с чем попало, тогда как именно вот этих двух модулей нету - это я уже не раз проходил. В результате на линуксе приходилось пых собирать вручную.Кстати по поводу оптимизатора. Никогда не пытались подружить ZendOptimizer с pecl-imagemagick? Я плюнул. Пока пытался много нового узнал про пых, нашёл даже какие-то скрипты дебианщиков для автоматической сортировки модулей чтобы при загрузке модули друг друга в кору не роняли.
Или Вас не смущает наличие сайтов типа hardened-php.net? Насколько должен быть дыряв продукт, чтобы под него отдельные конторы выпускали свои наборы патчей?
>Нет вот за линукс большое спасибо. Вечно ископамая весрия пыха да ещё
>собраная с чем попало, тогда как именно вот этих двух модулей
>нету - это я уже не раз проходил. В результате на
>линуксе приходилось пых собирать вручную.ха-ха 3 раза. линуксов море китайское. я для себя выбрал наполовину платную редхатообразную мандриву и имею полный набор софта, который необходим в 90% случаев именно с теми опциями и модулями, которые нужны в 90% случаев
недавно впервые за несколько лет прикрутил из сорцов один плагин в snmpd.
хоть я и упирался, меня очень попросили.
и оказались неправы. плагин оказался настолько сырой и непредназначенный для работы под нагрузкой, что его пришлось открутить обратно.
все, что в официальных репозитариях - тестируется перед сборкой и проблем вообще не возникает
аналогичное, наверное, вам подтердят _не студенты_ про Редхат.>
>Кстати по поводу оптимизатора. Никогда не пытались подружить ZendOptimizer с pecl-imagemagick? Я
>плюнул.совершенно верно. аналогичная ситуация: я всегда упирался ставить Зенд. но однажды меня вынудили. и опять оказались неправы. потому что, ЦМС, которая требовала Зенд была платной, программист - тупым, платить за _это_ уг и платить за работу быдлопрограммиста на этой уг ЦМС в конце концов перестали. а поскольку и ЦМС и программер были одинаково уг, с ними обоими расстались. ну и с Зендом до кучи.
ибо оптимизаторы - отдельно, цмски - отдельно. зенд не gpl. отсюда и растет все неюзабельное закрытое гавнище на пыхемой скромный опыт говорит, что если программер требует Зенд и только зенд - его надо увольнять :)
> Пока пытался много нового узнал про пых, нашёл даже какие-то
>скрипты дебианщиков для автоматической сортировки модулей чтобы при загрузке модули друг
>друга в кору не роняли.у меня после rpm -i .... все само прописывается, я самосборками увлекался в школе, когда было любопытно и опыт набирал.
>
>Или Вас не смущает наличие сайтов типа hardened-php.net? Насколько должен быть дыряв
>продукт, чтобы под него отдельные конторы выпускали свои наборы патчей?у меня все что надо уже в rpm заботливо собрано потными и заботливыми ручками сборщиков дистрибутива, я им 50 евро за это отправляю каждый год
> ха-ха 3 раза. линуксов море китайское. я для себя выбрал наполовину платную
> редхатообразную мандриву и имею полный набор софта, который необходим в 90% случаев
> именно с теми опциями и модулями, которые нужны в 90% случаевУ мну на фре всё собирается с теми опциями которые я хочу в 100% случаев. При этом я не тяну за собой на каждый сервак sendmail с поддержкой sasl. На конечной машине которая не является почтовым сервером это лишний набор барахла.
> недавно впервые за несколько лет прикрутил из сорцов один плагин в snmpd.
> хоть я и упирался, меня очень попросили.
> и оказались неправы. плагин оказался настолько сырой и непредназначенный для работы под
> нагрузкой, что его пришлось открутить обратно.
> все, что в официальных репозитариях - тестируется перед сборкой и проблем вообще не
> возникает
> аналогичное, наверное, вам подтердят _не студенты_ про Редхат.Видел RedHat. Один раз очень сильно матерился после обновления openssh - rpm в автоматическом режиме переписал дефолтный конфиг поверх моего. Терять машину после обновления софта... ну его на фиг.
Я не имею в виду что RedHat говно. RedHat - это выбор людей которые имеют деньги на сервер но не имеют желания разбираться почему оно пашет не так нужно.
>[оверквотинг удален]
>> pecl-imagemagick? Я плюнул.
> совершенно верно. аналогичная ситуация: я всегда упирался ставить Зенд. но однажды меня
> вынудили. и опять оказались неправы. потому что, ЦМС, которая требовала Зенд была
> платной, программист - тупым, платить за _это_ уг и платить за работу быдлопрограммиста
> на этой уг ЦМС в конце концов перестали. а поскольку и ЦМС и программер были одинаково
> уг, с ними обоими расстались. ну и с Зендом до кучи.
> ибо оптимизаторы - отдельно, цмски - отдельно. зенд не gpl. отсюда и растет все
> неюзабельное закрытое гавнище на пыхе
> мой скромный опыт говорит, что если программер требует Зенд и только зенд - его надо
> увольнять :)Вот тут целиком и полностью согласен.
> у меня после rpm -i .... все само прописывается, я самосборками увлекался в школе,
> когда было любопытно и опыт набирал.Я Вас попрошу... Есть же люди которые это дело запиливают напильником под Ваш дистрибутив. Я тоже иногда грешу написать порт под FreeBSD и не вижу в этом ничего зазорного.
ЗЫЖ Мы уже достаточно далеко отклонились от темы и наши аргументы сместились в сторону "пробовал - не моё", а поднимать здесь холивар Linux vs FreeBSD я смысла не вижу. Давайте пожалуй на этом и закончим.
>У мну на фре всё собирается с теми опциями которые я хочу в 100% случаев.Не заливайте!
>>У мну на фре всё собирается с теми опциями которые я хочу в 100% случаев.
>
>Не заливайте!Ну уж сорри. Я действительно всё собираю из портов.
>>>У мну на фре всё собирается с теми опциями которые я хочу в 100% случаев.
>>
>>Не заливайте!
>
>Ну уж сорри. Я действительно всё собираю из портов.Вот об этом "У мну на фре всё собирается с теми опциями которые я хочу в 100% случаев." - не заливайте, оно то, может быть и собирается (положа руку на сердце не в 100% случаях с опциями, которые вам в голову прийдут), но не всегда будет работать (выпадет в корку в лучшем случае...) - а по поводу портов - претензий не имею... сам только ими и пользуюсь(кроме как на начальном этапе установки приходится ставить некоторые пакеты из дистрибутивного комплекта)
>Вот об этом "У мну на фре всё собирается с теми опциями
>которые я хочу в 100% случаев." - не заливайте, оно то,
>может быть и собирается (положа руку на сердце не в 100%
>случаях с опциями, которые вам в голову прийдут), но не всегда
>будет работать (выпадет в корку в лучшем случае...)Это как в задаче про Ахиллеса и черепаху. Вы понимаете 100% с пессимистической точки зрения - "всё равно есть шанс что что-то не заработает", а я понимаю с оптимистической точки зрения - "если не заработает то сейчас починим и оно таки заработает".
>У мну на фре всё собирается с теми опциями которые я хочу
>в 100% случаев. При этом я не тяну за собой наэтого не може быть по теории вероятности :)
>каждый сервак sendmail с поддержкой sasl. На конечной машине которая не
>является почтовым сервером это лишний набор барахла.гон. системный майлер всегда выбирают. их десяток для любого линукса.
>Видел RedHat. Один раз очень сильно матерился после обновления openssh - rpm
>в автоматическом режиме переписал дефолтный конфиг поверх моего. Терять машину после
>обновления софта... ну его на фиг.у меня сомнения. мандривовцы всегда показывают diff конфига и спрашивают, заапплаить или оставить как есть? в дефолте - оставить как есть и записать новый вариант в файл с расширением <config>.new
>Я не имею в виду что RedHat говно. RedHat - это выбор
>людей которые имеют деньги на сервер но не имеют желания разбираться
>почему оно пашет не так нужно.это выбор людей, которые наигрались в суперкомпайляторов :)
>Вот тут целиком и полностью согласен.
я ж с вами опытом делюсь, а не холиварю. по доброте. :)
>ЗЫЖ Мы уже достаточно далеко отклонились от темы и наши аргументы сместились
>в сторону "пробовал - не моё", а поднимать здесь холивар Linux
>vs FreeBSD я смысла не вижу. Давайте пожалуй на этом и
>закончим.as you wish. только плиз, в следующий раз не надо лозунгов "дырявый пыхпых", "убогий линукс", питон рулит гцц сосет и пр.
школьников переспорите, а взрослые посмеются в кулачок и пойдут дальше работать
>>У мну на фре всё собирается с теми опциями которые я хочу
>>в 100% случаев. При этом я не тяну за собой на
>этого не може быть по теории вероятности :)По которой? Софт либо собирается с теми опциями которые мне нужны либо нет. У меня - собирается. Позапрошлый релиз OpenOffice у меня вообще был собран с:
editors/openoffice.org*: WITHOUT_MOZILLA | LOCALIZED_LANG=uk | CONFIGURE_ARGS= --disable-ldap --enable-pch --disable-mozilla --disable-qadevooo --disable-fontooo --disable-cups --disable-systray --enable-opengl --enable-dbus --disable-gnome-vfs --enable-gio --disable-neon --with-system-graphite --with-system-stdlibs --with-system-mspack --with-system-cairo --with-system-zlib --with-system-jpeg --with-system-expat --with-system-libwpd --with-system-libxml --with-system-python --with-system-icu --with-system-poppler --with-system-lucene --with-system-hsqldb --with-system-beanshell --with-system-jfreereport --with-system-saxon --with-system-libxslt --with-system-xrender-headers --with-system-curl --with-system-boost --with-system-vigra --with-system-hunspell --with-stlport --with-alloc=system --with-lucene-core-jar=/usr/local/share/java/classes/lucene-core-2.4.1.jar --with-lucene-analyzers-jar=/usr/local/share/java/classes/lucene-analyzers-2.4.1.jar --with-hsqldb-jar=/usr/local/share/java/classes/hsqldb.jar --with-beanshell-jar=/usr/local/share/java/classes/bsh.jar --with-saxon-jar=/usr/local/share/java/classes/saxon.jarПри чём это только отличия от того что идёт в порте по умолчанию.
>>каждый сервак sendmail с поддержкой sasl. На конечной машине которая не
>>является почтовым сервером это лишний набор барахла.
>гон. системный майлер всегда выбирают. их десяток для любого линукса.Не спорю, могу гнать. Когда я последний раз смотрел в эту сторону прибивание sendmail'а из пакетов на федоре влекло за собой кучу ругани на потерю совместимости с lsb.
>>Видел RedHat. Один раз очень сильно матерился после обновления openssh - rpm
>>в автоматическом режиме переписал дефолтный конфиг поверх моего. Терять машину после
>>обновления софта... ну его на фиг.
>у меня сомнения. мандривовцы всегда показывают diff конфига и спрашивают, заапплаить или оставить как есть? в дефолте - оставить как есть и записать новый вариант в файл с расширением <config>.newХЗ, у меня на RHEL 4.2 ничего оно не спросило.
>>Я не имею в виду что RedHat говно. RedHat - это выбор
>>людей которые имеют деньги на сервер но не имеют желания разбираться
>>почему оно пашет не так нужно.
>это выбор людей, которые наигрались в суперкомпайляторов :)Ну вот теперь вы переходите на оскорбления. Давайте ещё я добавлю что среднестатистический линуксоид вообще не способен разобраться что происходит в его системе и можно будет переходить на личные оскорбления.
>>ЗЫЖ Мы уже достаточно далеко отклонились от темы и наши аргументы сместились
>>в сторону "пробовал - не моё", а поднимать здесь холивар Linux
>>vs FreeBSD я смысла не вижу. Давайте пожалуй на этом и
>>закончим.
>as you wish. только плиз, в следующий раз не надо лозунгов "дырявый
>пыхпых", "убогий линукс", питон рулит гцц сосет и пр.
>школьников переспорите, а взрослые посмеются в кулачок и пойдут дальше работатьЭти фразы отражают только субъективное отношение к предмету. Для меня пыхпых стал дырявым и глючным после того как я на нём себе биллинг написал. После этого писать ны пыхе мне уже как-то не хочется, но от его поддержки я похоже ещё долго никуда не денусь. И меня радует что появляются альтернативные способы решения проблем, из-за которых у меня готов набор скриптов, настроек и примочек, который с каждой новой версией пыха нужно подновлять чтобы не дай бог ничего нигде не отвалилось.
>По которой? Софт либо собирается с теми опциями которые мне нужны либо
>нет. У меня - собирается. Позапрошлый релиз OpenOffice у меня вообще
>был собран с:
>editors/openoffice.org*: WITHOUT_MOZILLA | LOCALIZED_LANG=uk | CONFIGURE_ARGS= >(поскипано N строк опций сборки)
круто! сам писал? только к чему это?
только постарайся в своих обьяснениях обойтись без выражений типа "у меня спеллчекер без этих опций не работает/у меня с этими опциями ОО загружается быстрее" и пр.
потому что у меня и спеллчекеры работают, и первый запуск ОО - 3 секунды.
все эти опции, боюсь, не более чем чтобы "арбуз в гнезде, публика в шоке" :)>>>каждый сервак sendmail с поддержкой sasl. На конечной машине которая не
>>>является почтовым сервером это лишний набор барахла.
>>гон. системный майлер всегда выбирают. их десяток для любого линукса.
>
>Не спорю, могу гнать. Когда я последний раз смотрел в эту сторону
>прибивание sendmail'а из пакетов на федоре влекло за собой кучу ругани
>на потерю совместимости с lsb.lsb - отдельный метапакет.
lsb может быть несколько вариантов.
системный майлер тоже выбирается по принципу выбора из списка при разрулении зависимостей.>ХЗ, у меня на RHEL 4.2 ничего оно не спросило.
значит так настроено - апплаить конфиги.
>>это выбор людей, которые наигрались в суперкомпайляторов :)
>Ну вот теперь вы переходите на оскорбления. Давайте ещё я добавлю что
>среднестатистический линуксоид вообще не способен разобраться что происходит в его системе
>и можно будет переходить на личные оскорбления.меня это нисколько не оскорбит. я действительно не знаю, с какими опциями собраны мои пакеты. потому, что у меня уже давно не возникает потребности знать.
считайте меня ничтожеством :)>Эти фразы отражают только субъективное отношение к предмету. Для меня пыхпых стал
>дырявым и глючным после того как я на нём себе биллинг
>написал. После этого писать ны пыхе мне уже как-то не хочется,да хоть на шелл, как я когда-то :)
ну я же не проклинаю шелл и не утверждаю, что шелл - дырявое дерьмо, которым не стоит ниче писать. просто шелл - это не лучшее средство для подобного.
как и билинг на пхп.
как и на Питон :)>но от его поддержки я похоже ещё долго никуда не денусь.
что-ж поделаешь? надо было зарабатывать деньги и сажать за техпод специально обученного человека, а не написать программу, за которую никто не хочет платить и ругать язык программирования
>И меня радует что появляются альтернативные способы решения проблем, из-за которых
>у меня готов набор скриптов, настроек и примочек, который с каждой
>новой версией пыха нужно подновлять чтобы не дай бог ничего нигде
>не отвалилось.такой вот API вы придумали для своих программ. не получилось.
> круто! сам писал? только к чему это?Мммм. Я ярый противник софта который тягает за собой собственный boost, собственный libxml и ещё кучу собственного барахла вместо того чтобы использовать то что жуе есть в системе. В этом смысле мне нравится политика товарищей из AltLinux - все бибилиотеки должны находиться в системе по одному экземпляру.
> только постарайся в своих обьяснениях обойтись без выражений типа "у меня спеллчекер без
> этих опций не работает/у меня с этими опциями ОО загружается быстрее" и пр.
> потому что у меня и спеллчекеры работают, и первый запуск ОО - 3 секунды.
> все эти опции, боюсь, не более чем чтобы "арбуз в гнезде, публика в шоке" :)А Вы как думаете, откуда появяются новые программы?
> lsb - отдельный метапакет.
> lsb может быть несколько вариантов.
> системный майлер тоже выбирается по принципу выбора из списка при разрулении зависимостей.Прогресс, раньше всё железно было.
> значит так настроено - апплаить конфиги.
Ну значит и здесь гоню.
> да хоть на шелл, как я когда-то :)
> ну я же не проклинаю шелл и не утверждаю, что шелл - дырявое дерьмо, которым не стоит
> ниче писать. просто шелл - это не лучшее средство для подобного.
> как и билинг на пхп.
> как и на Питон :)Шелл очень даже полезная и удобная вещь. Если конечно не считать шелл на оригинальной соляре, он ни с чем не совместим и древнее эксрементов мамонта.
> что-ж поделаешь? надо было зарабатывать деньги и сажать за техпод специально обученного
> человека, а не написать программу, за которую никто не хочет платить и ругать язык
> программированияВообще я поимел денег за поддержку и внедрение этого биллинга, хотя изначально он писался раздавать интернет по домонету в обход предоставляемого провайдером. Просто после реализации таких "жизненно важных" для предприятий вещей как часы/дни недели работы сотрудников и выдача интернета по минутам встал вопрос о полной переписи движка. А я это дело задвинул посколько оно у меня уже из ушей лезло.
> такой вот API вы придумали для своих программ. не получилось.
Я не свои программы поддерживаю, а отвечаю за машину на которой крутится несколько разных сайтов разных разработчиков.
>Мммм. Я ярый противник софта который тягает за собой собственный boost, собственный
>libxml и ещё кучу собственного барахла вместо того чтобы использовать то
>что жуе есть в системе. В этом смысле мне нравится политика
>товарищей из AltLinux - все бибилиотеки должны находиться в системе по
>одному экземпляру.а я считаю, не стоит экстремальничать. пусть будет как собрано, у меня есть чем заняться
>> только постарайся в своих обьяснениях обойтись без выражений типа "у меня спеллчекер без
>> этих опций не работает/у меня с этими опциями ОО загружается быстрее" и пр.
>> потому что у меня и спеллчекеры работают, и первый запуск ОО - 3 секунды.
>> все эти опции, боюсь, не более чем чтобы "арбуз в гнезде, публика в шоке" :)
>
>А Вы как думаете, откуда появяются новые программы?из головы программиста. :) захотелось - написал. понравилось - пользуются.
или есть какая-то более сложная логика?>> такой вот API вы придумали для своих программ. не получилось.
>
>Я не свои программы поддерживаю, а отвечаю за машину на которой крутится
>несколько разных сайтов разных разработчиков.иногда приходится доказывать свою точку зрения пользующихся сервером, который ты настроил. нормальный процесс, когда с пользой и не слишком часто.
Интересно, а LLVM используется больше как переходная стадия для компиляции в native code, или он юзабелен и как виртуальная машина? Могу я, например, прикрутить ее к своему приложению для выполнения пользовательских скриптов?
Да, вполне юзабелен. По отчётам юзеров в нём намного легче разобраться чем в том же самом GCC. И за соблюдением качества сорцов там тоже очень пристально следят.Был недавно случай, один товарищ подметил что в некотором куске кода один указатель всегда виртуален и отдельная проверка этого указателя в сущности не нужна. Патч приняли только когда он проверку заменил assert'ом.
Кто-нибудь скажите пожалуйста, нативные бинарные ELFы на нем собираются? Или только байт-код?
>Кто-нибудь скажите пожалуйста, нативные бинарные ELFы на нем собираются? Или только байт-код?Да, собираются.
ээээм, можно будет заюзать сишные и джавские либы из любого языка, поддерживаемго llvm?
>ээээм, можно будет заюзать сишные и джавские либы из любого языка, поддерживаемго
>llvm?Нет, Вы многое путаете. Сам по себе llvm поддерживает только минимум языков. Остальное - надстройки, позволяющие использовать llvm как компилятор для определённого языка.
А поддержка всего сразу как в .NET требует не компилятора а заранее обусловленного и тщательно продуманного API, который обязаны использовать все поддерживаемые языки. Почему в .NET C# появился? Потому что обычный С в ядро не всегда синтегрируешь.
Для того чтобы 'эти' либы подошли 'туда' всё равно нужно писать прослойку которая будет заниматься типами, правилами вызова и прочим барахлом.
PS: IMHO. Могу гнать.
понятно, работаем дельше по-старинке, но в чем тогда профит llvm? развлекаться с оптимизцией?
>понятно, работаем дельше по-старинке, но в чем тогда профит llvm? развлекаться с
>оптимизцией?BSD лицензия.
Помимо технических моментов.
То есть вроде как достойный конкурент GCC???
Ну оно и создавалось из-за того что при комплияции темплэйтов и больших хэдеров GCC жрёт до икса памяти при чём дико тормозит. Это конечно пофиксили в 4.5, но мой опыт общения с GCC далеко не радужен, я помню как GCC с болта решил что мой процессор умеет SSE2 и в таком виде начал генерить код. Или оптимизация коротких ветвлений, когда одна строчка после if() просто игнорировалась, но стоило дописать рядом вторую - программа начинала работать.Создатели говорят что сам по себе GCC слишком изнавыворочен. Для того чтобы начать его оптимизировать или писать под него код его нужно долго учить - внутри он далеко он прочт и не предсказуем. А уж если ты и начал чего-нить писать - будь готов что-нибудь сломать и долго потом чинить пока не заработает. Уже до маразма дошло - есть программы которые компилятся под GCC4.2, но не под GCC4.4 и наоборот. Такое впечатление что сейчас программы пишутся не по стандартам C и C++ а всё больше для совместимости с вычурными фишками GCC.
Примеры в студию !! пример когда не работает короткое ветвление, версию gcc, описание платформы, исходники больших теплейтов и хедеров. Или ссылки на это.
Пример программы компилящейся под 4.2, но не под 4.4. Примеры программ компилящихся в MSVS 6.0,но не собирающихся в MS 2008 (с версиями могу врать).
В общем нужны доказательства того, что это проблемы gcc.
>В общем нужны доказательства того, что это проблемы gcc.Мне лень сюда это всё постить. Если Вы действительно занимаетесь всеръёз писанием кода Вы и так должны знать о чём я говорю или на худой конец должны уметь использовать Гугл для поиска ответов на свои вопросы.
Но поскольку я сегодня с утра добрый я Вам даже это всё дам:
- http://clang.llvm.org/features.html#performance - показывает насколько может быть оптимальнее clang на крупных файлах; используется Carbon.h - хороший хедер для MacOS который сам подтягивает 12М кода.
- баг gcc 19530: для процессоров поддерживающих MMX автоматически генерились SSE инструкции (при чём хоть бага и кажется простой товарищам пришлось расковыривать всё вплоть до аллокатора регистров);
- баг gcc 38961: содержимое if() - True, а код всё равно не выполняется;
- http://gcc.gnu.org/ml/gcc-bugs/2009-05/msg00024.html - чтобы далеко не ходить взял с офф форума, пост старый, никто не удостоил вниманием.Да, насчёт MSVC я пас, этого зверя я никогда на зуб не пробовал.
И как это доказывает, что GCC "прочт и не предсказуем. А уж если ты и начал чего-нить писать - будь готов что-нибудь сломать и долго потом чинить пока не заработает"?
>И как это доказывает, что GCC "прочт и не предсказуем. А ужСорри, очепятался. Хотел написать "не прост и не предвсказуем".
>если ты и начал чего-нить писать - будь готов что-нибудь сломать
>и долго потом чинить пока не заработает"?Ошибки смотрели? Почитайте, очень интересное чтиво. Сюда могу пересказать только сжато - в первой использование неправильной инструкции на самом деле форсировалось аллокатором регистров. Вторую вообще чинить не захотели мотивируя тем что "в доке про это ничего не написано, и мы сделали вот такой хак, который это обходит ... да он ломает -Wuninitialized ну и что, -Wuninitialized всё равно никогда правильно не пахал".
Еще не хватало тут этого. Ищите все у них в багтрекере.