Răsfoiți Sursa

* removed changesettype because that will change the definition
of the setdef forever and can result in a different between
original interface and current implementation definition

peter 22 ani în urmă
părinte
comite
28ebc69c8f
3 a modificat fișierele cu 20 adăugiri și 20 ștergeri
  1. 7 2
      compiler/nadd.pas
  2. 7 2
      compiler/ncnv.pas
  3. 6 16
      compiler/symdef.pas

+ 7 - 2
compiler/nadd.pas

@@ -536,7 +536,7 @@ implementation
                 to right as the other way is checked in the typeconv }
               if (tsetdef(right.resulttype.def).settype=smallset) and
                  (tsetdef(left.resulttype.def).settype<>smallset) then
-                tsetdef(right.resulttype.def).changesettype(normset);
+                right.resulttype.setdef(tsetdef.create(tsetdef(right.resulttype.def).elementtype,255));
               { check base types }
               inserttypeconv(left,right.resulttype);
 
@@ -1953,7 +1953,12 @@ begin
 end.
 {
   $Log$
-  Revision 1.92  2003-06-03 21:04:43  peter
+  Revision 1.93  2003-06-05 20:05:55  peter
+    * removed changesettype because that will change the definition
+      of the setdef forever and can result in a different between
+      original interface and current implementation definition
+
+  Revision 1.92  2003/06/03 21:04:43  peter
     * widen cardinal+signed operations
 
   Revision 1.91  2003/05/26 21:15:18  peter

+ 7 - 2
compiler/ncnv.pas

@@ -1107,7 +1107,7 @@ implementation
                   { constant sets can be converted by changing the type only }
                   if (left.nodetype=setconstn) then
                    begin
-                     tsetdef(left.resulttype.def).changesettype(tsetdef(resulttype.def).settype);
+                     left.resulttype:=resulttype;
                      result:=left;
                      left:=nil;
                      exit;
@@ -2111,7 +2111,12 @@ begin
 end.
 {
   $Log$
-  Revision 1.114  2003-06-04 17:55:09  jonas
+  Revision 1.115  2003-06-05 20:05:55  peter
+    * removed changesettype because that will change the definition
+      of the setdef forever and can result in a different between
+      original interface and current implementation definition
+
+  Revision 1.114  2003/06/04 17:55:09  jonas
     * disable fpuregable for fpu variables typecasted to non fpu-type
 
   Revision 1.113  2003/06/04 17:29:01  jonas

+ 6 - 16
compiler/symdef.pas

@@ -621,7 +621,6 @@ interface
           procedure deref;override;
           function  gettypename:string;override;
           function  is_publishable : boolean;override;
-          procedure changesettype(s:tsettype);
           { debug }
 {$ifdef GDB}
           function  stabstring : pchar;override;
@@ -2449,20 +2448,6 @@ implementation
       end;
 
 
-    procedure tsetdef.changesettype(s:tsettype);
-      begin
-        case s of
-          smallset :
-            savesize:=sizeof(longint);
-          normset :
-            savesize:=32;
-          varset :
-            internalerror(200110201);
-        end;
-        settype:=s;
-      end;
-
-
 {$ifdef GDB}
     function tsetdef.stabstring : pchar;
       begin
@@ -5741,7 +5726,12 @@ implementation
 end.
 {
   $Log$
-  Revision 1.148  2003-06-03 13:01:59  daniel
+  Revision 1.149  2003-06-05 20:05:55  peter
+    * removed changesettype because that will change the definition
+      of the setdef forever and can result in a different between
+      original interface and current implementation definition
+
+  Revision 1.148  2003/06/03 13:01:59  daniel
     * Register allocator finished
 
   Revision 1.147  2003/06/02 22:55:28  florian