I get the following ICE on m68k with -O2 -fPIC. It fails with gcc 4.0, 4.1 and 4.2, and works with 3.3/3.4. (sid)115:tbm@usurper: ~] /home/tbm/tmp/gcc/4.1-m68k/gcc/g++ -B/home/tbm/tmp/gcc/4.1-m68k/gcc -O2 -fPIC blender-IK_QSegment.cpp blender-IK_QSegment.cpp: In member function 'bool IK_QSwingSegment::UpdateAngle(const IK_QJacobian&, MT_Vector3&, bool*)': blender-IK_QSegment.cpp:85: internal compiler error: in reload, at reload1.c:1079 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. zsh: exit 1 /home/tbm/tmp/gcc/4.1-m68k/gcc/g++ -B/home/tbm/tmp/gcc/4.1-m68k/gcc -O2 -fPIC (sid)116:tbm@usurper: ~] /home/tbm/tmp/gcc/4.2-m68k-117734/gcc/g++ -B/home/tbm/tmp/gcc/4.2-m68k-117734/gcc/g++ -O2 -fPIC blender-IK_QSegment.cpp blender-IK_QSegment.cpp: In member function 'bool IK_QSwingSegment::UpdateAngle(const IK_QJacobian&, MT_Vector3&, bool*)': blender-IK_QSegment.cpp:85: internal compiler error: in reload, at reload1.c:1081 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. zsh: exit 1 /home/tbm/tmp/gcc/4.2-m68k-117734/gcc/g++ -O2 -fPIC blender-IK_QSegment.cpp (sid)117:tbm@usurper: ~]
Created attachment 12430 [details] testcase
won't fix in GCC-4.0.x. Adjusting milestone.
Martin, is this a bug you can still reproduce with the current SVN trunk? If so, could you provide a backtrace from gdb?
Breakpoint 1, fancy_abort (file=0x803da8 "gcc/reload1.c", line=1086, function=0x803be1 "reload") at gcc/diagnostic.c:640 640 { (gdb) where #0 fancy_abort (file=0x803da8 "gcc/reload1.c", line=1086, function=0x803be1 "reload") at gcc/diagnostic.c:640 #1 0x0000000000668070 in reload (first=0x2ae9c3a13ac0, global=1) at gcc/reload1.c:1086 #2 0x00000000007253a7 in rest_of_handle_global_alloc () at gcc/global.c:626 #3 0x00000000006a0408 in execute_one_pass (pass=0x98c1a0) at gcc/passes.c:881 #4 0x00000000006a056c in execute_pass_list (pass=0x98c1a0) at gcc/passes.c:932 #5 0x00000000006a057e in execute_pass_list (pass=0x98aa00) at gcc/passes.c:933 #6 0x00000000004d0a1e in tree_rest_of_compilation (fndecl=0x2ae9c39d9e00) at gcc/tree-optimize.c:462 #7 0x0000000000473949 in expand_body (fn=0x2ae9c39d9e00) at gcc/cp/semantics.c:3095 #8 0x00000000006cb374 in cgraph_expand_function (node=0x2ae9c39ea240) at gcc/cgraphunit.c:1243 #9 0x00000000006cbcb5 in cgraph_optimize () at gcc/cgraphunit.c:1308 #10 0x00000000004414af in cp_finish_file () at gcc/cp/decl2.c:3355 #11 0x00000000004b64ba in c_common_parse_file (set_yydebug=<value optimized out>) at gcc/c-opts.c:1182 #12 0x0000000000682628 in toplev_main (argc=<value optimized out>, argv=<value optimized out>) at gcc/toplev.c:1032 #13 0x00002ae9c351b4ca in __libc_start_main () from /lib/libc.so.6 #14 0x000000000040273a in _start () at ../sysdeps/x86_64/elf/start.S:113 (gdb)
works with 4.3.0 20071219.
(In reply to comment #4) > Breakpoint 1, fancy_abort (file=0x803da8 "gcc/reload1.c", line=1086, > function=0x803be1 "reload") at gcc/diagnostic.c:640 This was with 4.2 (from SVN).
Closing 4.1 branch.
Closing 4.2 branch, fixed in 4.3.