Răsfoiți Sursa

Disable finalisation code fro LLVM compiler to avoid interface finalisation troubles

Pierre Muller 3 ani în urmă
părinte
comite
0e142c00cc

+ 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;
 

BIN
packages/fpmake-llvm


BIN
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.