http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50053
gee <jojelino at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|[4.7 regression] SIGSEGV in |[4.7 regression] jc1 |natClass.cc:651 |doesn't emit static | |initializer or initializer | |code for super class | |without | |-findirect-dispatch. --- Comment #9 from gee <jojelino at gmail dot com> 2011-12-08 19:12:48 UTC --- ;; Function () (_ZN3gnu3gcj7convert10Input_UTF8C1Ev, funcdef_no=47, decl_uid=4320, cgraph_uid=94) () (struct gnu.gcj.convert.Input_UTF8 * this) { <bb 2>: # DEBUG D.4331 => &gnu.gcj.convert.Input_UTF8.class$$ # DEBUG D.4333 => &_CD_gnu_gcj_convert_Input_UTF8 # DEBUG D.4335 => this_3(D) # DEBUG this => this_3(D) # DEBUG D.10917 => &gnu.gcj.convert.BytesToUnicode.class$$ # DEBUG D.10918 => &_CD_gnu_gcj_convert_BytesToUnicode # DEBUG D.10919 => this_3(D) # DEBUG this => this_3(D) # DEBUG D.10911 => &gnu.gcj.convert.IOConverter.class$$ # DEBUG D.10921 => &_CD_gnu_gcj_convert_IOConverter # DEBUG D.10913 => this_3(D) (this_3(D)); # DEBUG D.4339 => this_3(D) this_3(D)->partial = 0; # DEBUG D.4342 => this_3(D) this_3(D)->partial_bytes_expected = 0; return; } we can see there isn't any code for {static} initializer of super classes, isn't it design flaw?