瀏覽代碼

Disable finalisation code fro LLVM compiler to avoid interface finalisation troubles

Pierre Muller 3 年之前
父節點
當前提交
0e142c00cc
共有 4 個文件被更改,包括 6 次插入0 次删除
  1. 1 0
      compiler/ngenutil.pas
  2. 二進制
      packages/fpmake-llvm
  3. 二進制
      packages/fpmake-reg
  4. 5 0
      packages/fpmkunit/src/fpmkunit.pp

+ 1 - 0
compiler/ngenutil.pas

@@ -787,6 +787,7 @@ implementation
            (vo_is_funcret in tabstractnormalvarsym(p).varoptions)
            (vo_is_funcret in tabstractnormalvarsym(p).varoptions)
           )
           )
          ) and
          ) and
+         not (vo_is_parentfp in tabstractnormalvarsym(p).varoptions) and
          not assigned(tabstractnormalvarsym(p).defaultconstsym);
          not assigned(tabstractnormalvarsym(p).defaultconstsym);
     end;
     end;
 
 

二進制
packages/fpmake-llvm


二進制
packages/fpmake-reg


+ 5 - 0
packages/fpmkunit/src/fpmkunit.pp

@@ -28,6 +28,9 @@ unit fpmkunit;
 
 
 Interface
 Interface
 
 
+{$ifdef CPULLVM}
+  {$define LLVM_INTERFACE_PROBLEM}
+{$endif CPULLVM}
 {$IFDEF MORPHOS}
 {$IFDEF MORPHOS}
  {$DEFINE NO_UNIT_PROCESS}
  {$DEFINE NO_UNIT_PROCESS}
  {$DEFINE NO_THREADING}
  {$DEFINE NO_THREADING}
@@ -10131,12 +10134,14 @@ Initialization
   GetPluginManager.RegisterPlugin(TfpmResolvePackagePathsPlugin);
   GetPluginManager.RegisterPlugin(TfpmResolvePackagePathsPlugin);
 
 
 Finalization
 Finalization
+{$ifndef LLVM_INTERFACE_PROBLEM}
   FreeAndNil(CustomFpMakeCommandlineValues);
   FreeAndNil(CustomFpMakeCommandlineValues);
   FreeAndNil(CustomFpmakeCommandlineOptions);
   FreeAndNil(CustomFpmakeCommandlineOptions);
   FreeAndNil(DefInstaller);
   FreeAndNil(DefInstaller);
   FreeAndNil(GlobalDictionary);
   FreeAndNil(GlobalDictionary);
   FreeAndNil(Defaults);
   FreeAndNil(Defaults);
   FreeAndNil(GPluginManager);
   FreeAndNil(GPluginManager);
+{$endif ndef LLVM_INTERFACE_PROBLEM}
 end.
 end.