Bläddra i källkod

- removed tdataconstnode, as it is no longer used and is not type safe.
Use a typed constant builder instead.

git-svn-id: trunk@34155 -

Jonas Maebe 9 år sedan
förälder
incheckning
974c2363c0
2 ändrade filer med 0 tillägg och 232 borttagningar
  1. 0 29
      compiler/ncgcon.pas
  2. 0 203
      compiler/ncon.pas

+ 0 - 29
compiler/ncgcon.pas

@@ -32,10 +32,6 @@ interface
        node,ncon;
 
     type
-       tcgdataconstnode = class(tdataconstnode)
-          procedure pass_generate_code;override;
-       end;
-
        tcgrealconstnode = class(trealconstnode)
           procedure pass_generate_code;override;
        end;
@@ -84,30 +80,6 @@ implementation
       ;
 
 
-{*****************************************************************************
-                           TCGDATACONSTNODE
-*****************************************************************************}
-
-    procedure tcgdataconstnode.pass_generate_code;
-      var
-        l : tasmlabel;
-        i : longint;
-        b : byte;
-      begin
-        location_reset_ref(location,LOC_CREFERENCE,OS_NO,const_align(maxalign));
-        current_asmdata.getglobaldatalabel(l);
-        maybe_new_object_file(current_asmdata.asmlists[al_typedconsts]);
-        new_section(current_asmdata.asmlists[al_typedconsts],sec_rodata_norel,l.name,const_align(maxalign));
-        current_asmdata.asmlists[al_typedconsts].concat(Tai_label.Create(l));
-        data.seek(0);
-        for i:=0 to data.size-1 do
-          begin
-            data.read(b,1);
-            current_asmdata.asmlists[al_typedconsts].concat(Tai_const.Create_8bit(b));
-          end;
-        location.reference.symbol:=l;
-      end;
-
 {*****************************************************************************
                            TCGREALCONSTNODE
 *****************************************************************************}
@@ -576,7 +548,6 @@ implementation
 
 
 begin
-   cdataconstnode:=tcgdataconstnode;
    crealconstnode:=tcgrealconstnode;
    cordconstnode:=tcgordconstnode;
    cpointerconstnode:=tcgpointerconstnode;

+ 0 - 203
compiler/ncon.pas

@@ -33,24 +33,6 @@ interface
       symconst,symtype,symdef,symsym;
 
     type
-       tdataconstnode = class(tnode)
-         data : tdynamicarray;
-         maxalign : word;
-         constructor create;virtual;
-         constructor ppuload(t:tnodetype;ppufile:tcompilerppufile);override;
-         destructor destroy;override;
-         procedure ppuwrite(ppufile:tcompilerppufile);override;
-         function dogetcopy : tnode;override;
-         function pass_1 : tnode;override;
-         function pass_typecheck:tnode;override;
-         function docompare(p: tnode) : boolean; override;
-         procedure printnodedata(var t:text);override;
-         procedure append(const d;len : aint);
-         procedure appendbyte(b : byte);
-         procedure align(value : word);
-       end;
-       tdataconstnodeclass = class of tdataconstnode;
-
        trealconstnode = class(tnode)
           typedef : tdef;
           typedefderef : tderef;
@@ -190,7 +172,6 @@ interface
        csetconstnode : tsetconstnodeclass = tsetconstnode;
        cguidconstnode : tguidconstnodeclass = tguidconstnode;
        cnilnode : tnilnodeclass=tnilnode;
-       cdataconstnode : tdataconstnodeclass = tdataconstnode;
 
     function genintconstnode(v : TConstExprInt) : tordconstnode;
     function genenumnode(v : tenumsym) : tordconstnode;
@@ -343,190 +324,6 @@ implementation
           internalerror(2013111601);
       end;
 
-
-{*****************************************************************************
-                             TDATACONSTNODE
-*****************************************************************************}
-
-    constructor tdataconstnode.create;
-      begin
-         inherited create(dataconstn);
-         data:=tdynamicarray.create(128);
-      end;
-
-
-    constructor tdataconstnode.ppuload(t:tnodetype;ppufile:tcompilerppufile);
-      var
-        len : tcgint;
-        buf : array[0..255] of byte;
-      begin
-        inherited ppuload(t,ppufile);
-        len:=ppufile.getaint;
-        if len<4096 then
-          data:=tdynamicarray.create(len)
-        else
-          data:=tdynamicarray.create(4096);
-        while len>0 do
-          begin
-            if len>sizeof(buf) then
-              begin
-                ppufile.getdata(buf,sizeof(buf));
-                data.write(buf,sizeof(buf));
-                dec(len,sizeof(buf));
-              end
-            else
-              begin
-                ppufile.getdata(buf,len);
-                data.write(buf,len);
-                len:=0;
-              end;
-          end;
-      end;
-
-
-    destructor tdataconstnode.destroy;
-      begin
-        data.free;
-        inherited destroy;
-      end;
-
-
-    procedure tdataconstnode.ppuwrite(ppufile:tcompilerppufile);
-      var
-        len : tcgint;
-        buf : array[0..255] of byte;
-      begin
-        inherited ppuwrite(ppufile);
-        len:=data.size;
-        ppufile.putaint(len);
-        data.seek(0);
-        while len>0 do
-          begin
-            if len>sizeof(buf) then
-              begin
-                data.read(buf,sizeof(buf));
-                ppufile.putdata(buf,sizeof(buf));
-                dec(len,sizeof(buf));
-              end
-            else
-              begin
-                data.read(buf,len);
-                ppufile.putdata(buf,len);
-                len:=0;
-              end;
-          end;
-      end;
-
-
-    function tdataconstnode.dogetcopy : tnode;
-      var
-        n : tdataconstnode;
-        len : tcgint;
-        buf : array[0..255] of byte;
-      begin
-        n:=tdataconstnode(inherited dogetcopy);
-        len:=data.size;
-        if len<4096 then
-          n.data:=tdynamicarray.create(len)
-        else
-          n.data:=tdynamicarray.create(4096);
-        data.seek(0);
-        while len>0 do
-          begin
-            if len>sizeof(buf) then
-              begin
-                data.read(buf,sizeof(buf));
-                n.data.write(buf,sizeof(buf));
-                dec(len,sizeof(buf));
-              end
-            else
-              begin
-                data.read(buf,len);
-                n.data.write(buf,len);
-                len:=0;
-              end;
-          end;
-          dogetcopy := n;
-      end;
-
-
-    function tdataconstnode.pass_1 : tnode;
-      begin
-        result:=nil;
-        expectloc:=LOC_CREFERENCE;
-      end;
-
-
-    function tdataconstnode.pass_typecheck:tnode;
-      begin
-        result:=nil;
-        resultdef:=voidpointertype;
-      end;
-
-
-    function tdataconstnode.docompare(p: tnode) : boolean;
-      var
-        b1,b2 : byte;
-        I : longint;
-      begin
-        docompare :=
-          inherited docompare(p) and (data.size=tdataconstnode(p).data.size);
-        if docompare then
-          begin
-            data.seek(0);
-            tdataconstnode(p).data.seek(0);
-            for i:=0 to data.size-1 do
-              begin
-                data.read(b1,1);
-                tdataconstnode(p).data.read(b2,1);
-                if b1<>b2 then
-                  begin
-                    docompare:=false;
-                    exit;
-                  end;
-              end;
-          end;
-      end;
-
-
-    procedure tdataconstnode.printnodedata(var t:text);
-      var
-        i : longint;
-        b : byte;
-      begin
-        inherited printnodedata(t);
-        write(t,printnodeindention,'data size = ',data.size,' data = ');
-        data.seek(0);
-        for i:=0 to data.size-1 do
-          begin
-            data.read(b,1);
-            if i=data.size-1 then
-              writeln(t,b)
-            else
-              write(t,b,',');
-          end;
-      end;
-
-
-    procedure tdataconstnode.append(const d;len : aint);
-      begin
-        data.seek(data.size);
-        data.write(d,len);
-      end;
-
-    procedure tdataconstnode.appendbyte(b : byte);
-      begin
-        data.seek(data.size);
-        data.write(b,1);
-      end;
-
-    procedure tdataconstnode.align(value : word);
-      begin
-        if value>maxalign then
-          maxalign:=value;
-        data.align(value);
-      end;
-
 {*****************************************************************************
                              TREALCONSTNODE
 *****************************************************************************}