Browse Source

* Automatic conversion from integer constants to pointer constants is no
longer done except in Delphi mode

daniel 21 years ago
parent
commit
23aa8e1cda
2 changed files with 13 additions and 6 deletions
  1. 7 4
      compiler/defcmp.pas
  2. 6 2
      compiler/rgobj.pas

+ 7 - 4
compiler/defcmp.pas

@@ -677,14 +677,13 @@ implementation
                            eq:=te_convert_l1;
                            eq:=te_convert_l1;
                          end
                          end
                         else
                         else
-                         if is_integer(def_from) then
+                         if (m_delphi in aktmodeswitches) and is_integer(def_from) then
                           begin
                           begin
                             doconv:=tc_cord_2_pointer;
                             doconv:=tc_cord_2_pointer;
                             eq:=te_convert_l1;
                             eq:=te_convert_l1;
                           end;
                           end;
                       end;
                       end;
-                     if (eq=te_incompatible) and
-                        explicit then
+                     if (eq=te_incompatible) and explicit then
                       begin
                       begin
                         doconv:=tc_int_2_int;
                         doconv:=tc_int_2_int;
                         eq:=te_convert_l1;
                         eq:=te_convert_l1;
@@ -1250,7 +1249,11 @@ implementation
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.38  2003-11-26 15:11:42  michael
+  Revision 1.39  2003-12-16 09:41:44  daniel
+    * Automatic conversion from integer constants to pointer constants is no
+      longer done except in Delphi mode
+
+  Revision 1.38  2003/11/26 15:11:42  michael
   + Patch to prefer getpropinfo(ptypeinfo,name) over getpropinfo(tobject,name) when called with getpropinfo(aclass.classinfo) from Peter
   + Patch to prefer getpropinfo(ptypeinfo,name) over getpropinfo(tobject,name) when called with getpropinfo(aclass.classinfo) from Peter
 
 
   Revision 1.37  2003/11/10 19:09:29  peter
   Revision 1.37  2003/11/10 19:09:29  peter

+ 6 - 2
compiler/rgobj.pas

@@ -1251,7 +1251,7 @@ implementation
         if reginfo[i].movelist<>nil then
         if reginfo[i].movelist<>nil then
           begin
           begin
             dispose(reginfo[i].movelist);
             dispose(reginfo[i].movelist);
-            reginfo[i].movelist:=0;
+            reginfo[i].movelist:=nil;
           end;
           end;
     end;
     end;
 
 
@@ -1672,7 +1672,11 @@ implementation
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.103  2003-12-15 21:25:49  peter
+  Revision 1.104  2003-12-16 09:41:44  daniel
+    * Automatic conversion from integer constants to pointer constants is no
+      longer done except in Delphi mode
+
+  Revision 1.103  2003/12/15 21:25:49  peter
     * reg allocations for imaginary register are now inserted just
     * reg allocations for imaginary register are now inserted just
       before reg allocation
       before reg allocation
     * tregister changed to enum to allow compile time check
     * tregister changed to enum to allow compile time check