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?

Reply via email to