浏览代码

* Cleanup of variant manager stub in System unit. FPC 2.1.1 adds Variants unit implicitly. Variant manager stub in System unit is never called. This cleanup shrinks wince executable size by 3KB.

git-svn-id: trunk@5307 -
yury 18 年之前
父节点
当前提交
cc2b691c0c
共有 2 个文件被更改,包括 1 次插入68 次删除
  1. 1 62
      rtl/inc/variant.inc
  2. 0 6
      rtl/inc/varianth.inc

+ 1 - 62
rtl/inc/variant.inc

@@ -17,48 +17,10 @@
 var
 var
    variantmanager : tvariantmanager;
    variantmanager : tvariantmanager;
 
 
-procedure printmissingvariantunit;
-  begin
-    writeln(stderr);
-    writeln(stderr,'Program needs probably the variants unit.');
-    writeln(stderr,'Include the variants unit in your uses statements');
-    writeln(stderr,'as one of the first units.');
-    writeln(stderr);
-  end;
-
-
-procedure invalidvariantop;
-  begin
-     printmissingvariantunit;
-     HandleErrorFrame(221,get_frame);
-  end;
-
-
-procedure invalidvariantopnovariants;
-  begin
-    printmissingvariantunit;
-    HandleErrorFrame(221,get_frame);
-  end;
-
-
-procedure vardisperror;
-  begin
-    printmissingvariantunit;
-    HandleErrorFrame(222,get_frame);
-  end;
-
-
 { ---------------------------------------------------------------------
 { ---------------------------------------------------------------------
     Compiler helper routines.
     Compiler helper routines.
   ---------------------------------------------------------------------}
   ---------------------------------------------------------------------}
 
 
-procedure varclear(var v : tvardata);
-begin
-   if not(v.vtype in [varempty,varerror,varnull]) then
-     invalidvariantop;
-end;
-
-
 procedure variant_init(var v : tvardata);[Public,Alias:'FPC_VARIANT_INIT'];
 procedure variant_init(var v : tvardata);[Public,Alias:'FPC_VARIANT_INIT'];
   begin
   begin
      { calling the variant manager here is a problem because the static/global variants
      { calling the variant manager here is a problem because the static/global variants
@@ -1005,29 +967,6 @@ begin
   VariantManager:=VarMgr;
   VariantManager:=VarMgr;
 end;
 end;
 
 
-function IsVariantManagerSet: Boolean;
-var
-   i : longint;
-begin
-   I:=0;
-   Result:=True;
-   While Result and (I<(sizeof(tvariantmanager) div sizeof(pointer))-1) do
-     begin
-       Result:=(PPointer(@variantmanager)+i)^<>Pointer(@invalidvariantop);
-       Inc(I);
-     end;
-end;
-
-
 procedure initvariantmanager;
 procedure initvariantmanager;
-  var
-     i : longint;
-  begin
-     VarDispProc:=@vardisperror;
-     DispCallByIDProc:=@vardisperror;
-     tvardata(Unassigned).VType:=varEmpty;
-     tvardata(Null).VType:=varNull;
-     for i:=0 to (sizeof(tvariantmanager) div sizeof(pointer))-1 do
-       (ppointer(@variantmanager)+i)^:=@invalidvariantopnovariants;
-     pointer(variantmanager.varclear):=@varclear
+  begin
   end;
   end;

+ 0 - 6
rtl/inc/varianth.inc

@@ -194,7 +194,6 @@ type
 
 
 procedure GetVariantManager(var VarMgr: TVariantManager);
 procedure GetVariantManager(var VarMgr: TVariantManager);
 procedure SetVariantManager(const VarMgr: TVariantManager);
 procedure SetVariantManager(const VarMgr: TVariantManager);
-function IsVariantManagerSet: Boolean;
 
 
 const
 const
   VarClearProc :  procedure(var v : TVarData) = nil;
   VarClearProc :  procedure(var v : TVarData) = nil;
@@ -203,11 +202,6 @@ const
   VarToLStrProc : procedure(var d : AnsiString;const s : TVarData) = nil;
   VarToLStrProc : procedure(var d : AnsiString;const s : TVarData) = nil;
   VarToWStrProc : procedure(var d : WideString;const s : TVarData) = nil;
   VarToWStrProc : procedure(var d : WideString;const s : TVarData) = nil;
 
 
-var
-   VarDispProc : pointer;
-   DispCallByIDProc : pointer;
-   Null,Unassigned : Variant;
-
 {**********************************************************************
 {**********************************************************************
                        to Variant assignments
                        to Variant assignments
  **********************************************************************}
  **********************************************************************}