Hi,
G++ could not split restore_gp.
Please check this test (from #line 15017 "configure" of
gcc/libstdc++-v3/).
# cat foo.cpp
struct S { ~S(); };
void bar();
void foo()
{
S s;
bar();
}
# ~/dev/gcc45/build/gcc/cc1plus -quiet foo.cpp -o foo.s -mno-shared -mplt
-mabicalls -G0
foo.cpp: In function â?~foo()â?T:
foo.cpp:7:1: error: could not split insn
(insn 29 28 30 (parallel [
(set (reg:SI 28 $28)
(unspec_volatile:SI [
(const_int 0 [0x0])
] 7))
(clobber (reg:SI 2 $2))
]) 555 {restore_gp} (nil))
foo.cpp:7:1: internal compiler error: in final_scan_insn, at final.c:2651
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
--------------
Something may be wrong before we reach the "final" pass.
(Or, we should have split restore_gp earlier.)
Any idea? Thanks!
Regards,
Chao-ying