瀏覽代碼

* always return true from tjvmnodeutils.force_init(), because when this
routine is called we don't know yet whether it has to be forced or not
for the JVM target (staticvarsyms that need initialization may still be
created during pass1 of the main program/unit code)

git-svn-id: branches/jvmbackend@18646 -

Jonas Maebe 14 年之前
父節點
當前提交
cfe125198c
共有 1 個文件被更改,包括 5 次插入4 次删除
  1. 5 4
      compiler/jvm/njvmutil.pas

+ 5 - 4
compiler/jvm/njvmutil.pas

@@ -105,10 +105,11 @@ implementation
   class function tjvmnodeutils.force_init: boolean;
     begin
       { we need an initialisation in case the al_globals list is not empty
-        (that's where the initialisation for global records is added) }
-      result:=
-        inherited or
-        not current_asmdata.asmlists[al_globals].empty;
+        (that's where the initialisation for global records etc is added) }
+      { problem: some bss symbols are only registered while processing the main
+        program (e.g. constant sets) -> cannot predict whether or not we'll
+        need it in advance }
+      result:=true;
     end;
 
   class procedure tjvmnodeutils.insertbssdata(sym: tstaticvarsym);