浏览代码

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)
           )
          ) and
+         not (vo_is_parentfp in tabstractnormalvarsym(p).varoptions) and
          not assigned(tabstractnormalvarsym(p).defaultconstsym);
     end;
 

二进制
packages/fpmake-llvm


二进制
packages/fpmake-reg


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

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