LINUX.ORG.RU

GCC 3.0.2


0

0

Вышел новый релиз компилятора Gnu C: 3.0.2. Следуя анонсу, этот релиз отличается от предыдущего только исправлениями ошибок переход на него рекомендуется пользователям gcc, имеющим проблемы с предыдущей версией. Основные отличия: исправления ошибок в оптимизаторе, а так же в улучшения кодогенераторе для x86 и IA-64.

>>> Подробности

★★★★★

Проверено:

Ну наконец то эта штука в Солярисе собралась Вот только я в ней нашёл одно упущение, когда программу свою компилировал: Ругается он что: `noreplace' is not a member of type `std::basic_ios<char, std::char_traits<char> >'

Хотя по стандарту флаг ios::noreplace есть: ........

`ios::trunc' Guarantee a fresh file; discard any contents that were previously associated with it. `ios::nocreate' Guarantee an existing file; fail if the specified file did not already exist. `ios::noreplace' Guarantee a new file; fail if the specified file already existed. ............

Я тут покопался в заголовочных файлах этой библиотеки и вот в файле bits/ios_base.h нашёл определения констант для открытия файлов: // 27.4.2.1.4 Type openmode typedef _Ios_Openmode openmode; static const openmode app = openmode(__ios_flags::_S_app); static const openmode ate = openmode(__ios_flags::_S_ate); static const openmode binary = openmode(__ios_flags::_S_bin); static const openmode in = openmode(__ios_flags::_S_in); static const openmode out = openmode(__ios_flags::_S_out); static const openmode trunc = openmode(__ios_flags::_S_trunc);

и всё того что я написал чуть выше там нет, как и нет флага ios::bin (для портирования продуктов в M$ системы).

Народ у кого подобные баги были в др. продуктах этой 3.0.x серии? Стоит ли мне слать баги, и как это лучше сделать?

Android
()

У меня с 3.0.0 версии под соляркой собиралось и работало

Про ios::nocreate у них там написано : there is no ios::nocreate/ios::noreplace
in ISO 14882

bin - точно не стандартно, надо binary использовать

anonymous
()

Как скомпилить XFree v4 под gcc3?
Может уже ктото придумал workaround'ы (патчи)?

logIN
()

2logIN: У меня нормально компляться Х из CVS DRI, только надо
не забыть поставить опцию -fno-merge-constants в host.def,
иначе модули Х-ов соберуться не правильно, вылезут стринговые
значения .LC*, на которые будет ругаться сервер как на унрезолвед
символы, я на эти грабли наступал еще при сборке Х-ов gcc'ом
2.96...

McMCC ★★★
()

>>Ну наконец то эта штука в Солярисе собралась

У нас в Соляре и 3.0.1 собрался причем нейтив 64 битный и прожки 64-битные компилит аж бегом. Правда линкер солярный пришлось использовать. :)) Разработчикам написали, а они говорят не может такого быть. Ну мы ж не знали, что не может, вот и собрали :))

Banshee
()

anonymous (*) (2001-10-26 18:14:28.0) > У меня с 3.0.0 версии под соляркой собиралось и работало

а какая у тя Солярка вот у меня машины все под Sparc в версии ОС 2.6 - собирается только gcc-2.95.3 (не больше) в 2.7 собрал gcc-3.0.2 предыдущие сборки не получались

>Про ios::nocreate у них там написано : there is no >ios::nocreate/ios::noreplace >in ISO 14882

а чем их тогда заменять?

Может пользоваться другими алгоритмами - проверять сначала наличие файлов функцией fstat? (не изящно только)

> bin - точно не стандартно, надо binary использовать

в смысле ios::binary?

Android
()
Ответ на: комментарий от Android

2Android
У меня почти все под 2.6, кое-где есть 2.8, но под 2.8 я не пробовал.
SunOS XXXXXX 5.6 Generic_105181-28 sun4u sparc SUNW,Ultra-Enterprise

Авторы libstdc++, предлагают предварительно открыть файл, что-бы
убедится в существовании :), не уверен, что это хорошо...

>в смысле ios::binary
Да

anonymous
()
Ответ на: комментарий от Banshee

banshee: и работают потом? а ipfilter не пробовал им собирать?

maxcom ★★★★★
() автор топика

А KDE2 собирается?

anonymous
()

2maxcom:

Работают нормально. ipfilter не пробовал.

Banshee
()

2 anonymous (*) (2001-10-27 19:22:15.0)

Ну а ты прикинул сколько кода перестанет работать в связи с такими обновлениями gcc в третьей их верси?

Они бы хотя, кое-какие вещи оставили для backward compatibility.

А каковы от этого продукта впечатления у Java'писцев? Я заметил при сборке, что там заметно кода прибавилось для этого языка. Может там команда GNU уже свою Virtual Java Machine разработала?

Android
()

Под платформу GNU? ;)

Havoc ★★★★
()

2 Havoc (*) (2001-10-29 12:27:36.0)

Вроде платформа GNU-Hurd ещё не готова, а последние её обновления значатся более чем годичным сроком.

Вообще-то когда gcc собиралась в Солярке - там почему-то ну очень много времени ушло на обработку файлов Java библиотеки каким-то тулсом. Интересно будет попробовать через X-ы запустить кай-нибудь апплет.

Android
()

Насколько я знаю, gcc просто умеет компилировать .java файлы, а своей JVM у него нету.

Havoc ★★★★
()

Собрал gcc-3.0.2 работает вроде. Компиляется то, что на 3.0 не хотело без правки. Так что пока оставлю.

eXOR ★★★★★
()

2 all:

Хотелось бы знать куда вы собираете этот компилятор?

Хотя полагаю, что около 90% собирает это дело в каталог /usr/local, потому как это большинство является админами.

А вот я никогда сисадмином не был (окромя своей домашней машины:) и собираю любое хозяйство из исходников в $HOME/usr/local. Видимо такая не совсем стандартная ситуация и приводит иногда к несборкам gcc 3.0.x.

Хотя gcc-2.95.3 в этом плане безупречен :)

Android
()

>собираю любое хозяйство из исходников в
>$HOME/usr/local. Видимо такая не совсем стандартная ситуация и приводит иногда к несборкам gcc 3.0.x.

Ни разу не видел с этим проблем :)
Под соляркой у меня почти всё в %HOME/... лежит,
в том числе и оба gcc

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.