Bug 6259 - Compilation breaks with internal compiler error
: Compilation breaks with internal compiler error
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/i386-mingw32msvc-gcc)
: unstable
: all Linux
: P2 normal
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2005-03-13 09:57 by
Modified: 2005-08-30 12:21 (History)


Attachments
Preprocessed file (46.93 KB, application/octet-stream)
2005-03-13 09:58, partizan
no flags Details


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2005-03-13 09:57:09
src/common/datetime.cpp: In function `wxString CallStrftime(const wxChar*, const
tm*)':
src/common/datetime.cpp:356: internal compiler error: in
dwarf2out_frame_debug_expr, at dwarf2out.c:1602
------- Comment #1 From 2005-03-13 09:58:26 -------
Created an attachment (id=769) [details]
Preprocessed file
------- Comment #2 From 2005-05-15 14:52:55 -------
$ bzcat Download/ccT97In8.out.bz2 > datetime.cpp
$ i386-mingw32msvc-g++ -c -o datetime.o datetime.cpp
$ _

Huh?
------- Comment #3 From 2005-05-15 14:55:15 -------
Также работает с -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
------- Comment #4 From 2005-05-16 08:30:36 -------
(In reply to comment #3)
Это preprocessed file, поэтому надо его собирать с помощью
/usr/libexec/gcc/i386-mingw32msvc/3.4.3/cc1plus

При сборке с флагом -O2, -O1 или -O выдаётся показанная выше ошибка, при сборке
с -Os, -O3 или без флагов ошибки нет.
------- Comment #5 From 2005-05-24 12:01:52 -------
Загадочно это всё...  Обновил 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

Собсно вот.  Будем искать...
------- Comment #6 From 2005-05-24 12:11:32 -------
Кстати:

http://sourceforge.net/mailarchive/forum.php?thread_id=6461999&forum_id=5121

P.S. И где же патчи?
------- Comment #7 From 2005-05-24 13:39:50 -------
Нашёл.  http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17406

В Сизиф ушёл -alt3.  Не ICE'ится.