Summary: | Compilation breaks with internal compiler error | ||||||
---|---|---|---|---|---|---|---|
Product: | Sisyphus | Reporter: | partizan <partizan> | ||||
Component: | i386-mingw32msvc-gcc | Assignee: | Sir Raorn <raorn> | ||||
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus | ||||
Severity: | normal | ||||||
Priority: | P2 | CC: | lav, sin | ||||
Version: | unstable | ||||||
Hardware: | all | ||||||
OS: | Linux | ||||||
Attachments: |
|
Description
partizan
2005-03-13 09:57:09 MSK
Created attachment 769 [details]
Preprocessed file
$ bzcat Download/ccT97In8.out.bz2 > datetime.cpp $ i386-mingw32msvc-g++ -c -o datetime.o datetime.cpp $ _ Huh? Также работает с -g. С -ggdb3 выдаёт: /home/raorn/tmp/ccxxfXpH.s: Assembler messages: /home/raorn/tmp/ccxxfXpH.s:21643: Error: unknown pseudo-op: `.secrel32' /home/raorn/tmp/ccxxfXpH.s:21665: Error: unknown pseudo-op: `.secrel32' ... мнооого, мнооого таких ошибок ... /home/raorn/tmp/ccxxfXpH.s:61710: Error: unknown pseudo-op: `.secrel32' /home/raorn/tmp/ccxxfXpH.s:62316: Error: unknown pseudo-op: `.secrel32' zsh: 12581 exit 1 i386-mingw32msvc-g++ -c -ggdb3 -o datetime.o datetime.cpp (In reply to comment #3) Это preprocessed file, поэтому надо его собирать с помощью /usr/libexec/gcc/i386-mingw32msvc/3.4.3/cc1plus При сборке с флагом -O2, -O1 или -O выдаётся показанная выше ошибка, при сборке с -Os, -O3 или без флагов ошибки нет. Загадочно это всё... Обновил gcc до 3.4.3-alt6, на тестовом файле всё ещё падает... i386-mingw32msvc-wxWidgets-2.5.4-alt1 пересобрался. Смотрим флаги: $ for fl in -fno-defer-pop -fno-merge-constants -fno-thread-jumps -fno-loop-optimize -fno-crossjumping -fno-if-conversion -fno-if-conversion2 -fno-delayed-branch -fno-guess-branch-probability -fno-cprop-registers; do /usr/libexec/gcc/i386-mingw32msvc/3.4.3/cc1plus -o datetime.o -O1 $fl datetime.cpp >/dev/null 2>&1 && echo "OK $fl" || echo "Not OK $fl"; done Not OK -fno-defer-pop Not OK -fno-merge-constants Not OK -fno-thread-jumps Not OK -fno-loop-optimize Not OK -fno-crossjumping Not OK -fno-if-conversion Not OK -fno-if-conversion2 Not OK -fno-delayed-branch OK -fno-guess-branch-probability Not OK -fno-cprop-registers -fno-guess-branch-probability должен помочь. (с -O2 та же самая картина) Смотрим что делает -O3: $ for fl in -finline-functions -frename-registers; do /usr/libexec/gcc/i386-mingw32msvc/3.4.3/cc1plus -o datetime.o -O2 $fl datetime.cpp >/dev/null 2>&1 && echo "OK $fl" || echo "Not OK $fl"; done OK -finline-functions Not OK -frename-registers Собсно вот. Будем искать... Кстати: http://sourceforge.net/mailarchive/forum.php?thread_id=6461999&forum_id=5121 P.S. И где же патчи? Нашёл. http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17406 В Сизиф ушёл -alt3. Не ICE'ится. |