Browse Source

* fixed pchar->string conversion for delphi mode

peter 25 years ago
parent
commit
42bdcb649b
3 changed files with 19 additions and 9 deletions
  1. 6 3
      compiler/globals.pas
  2. 5 2
      compiler/globtype.pas
  3. 8 4
      compiler/htypechk.pas

+ 6 - 3
compiler/globals.pas

@@ -72,7 +72,7 @@ unit globals;
          [m_objfpc,m_fpc,m_all,m_class,m_objpas,m_result,m_string_pchar,m_nested_comment,
           m_repeat_forward,m_cvar_support,m_initfinal,m_add_pointer];
        tpmodeswitches     : tmodeswitches=
-         [m_tp,m_all,m_tp_procvar];
+         [m_tp7,m_tp,m_all,m_tp_procvar];
        gpcmodeswitches    : tmodeswitches=
          [m_gpc,m_all];
 
@@ -1568,7 +1568,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.63  2000-05-12 08:58:51  pierre
+  Revision 1.64  2000-06-11 07:00:21  peter
+    * fixed pchar->string conversion for delphi mode
+
+  Revision 1.63  2000/05/12 08:58:51  pierre
    * adapted to Delphi 3
 
   Revision 1.62  2000/05/12 05:55:04  pierre
@@ -1693,4 +1696,4 @@ end.
     * define FPC_DELPHI,FPC_OBJFPC,FPC_TP,FPC_GPC
     * initial support for ansistring default with modes
 
-}
+}

+ 5 - 2
compiler/globtype.pas

@@ -113,7 +113,7 @@ interface
        { Switches which can be changed by a mode (fpc,tp7,delphi) }
        tmodeswitch = (m_none,m_all, { needed for keyword }
          { generic }
-         m_fpc,m_objfpc,m_delphi,m_tp,m_gpc,
+         m_fpc,m_objfpc,m_delphi,m_tp,m_tp7,m_gpc,
          { more specific }
          m_class,               { delphi class model }
          m_objpas,              { load objpas unit }
@@ -199,7 +199,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.31  2000-05-31 06:57:11  florian
+  Revision 1.32  2000-06-11 07:00:21  peter
+    * fixed pchar->string conversion for delphi mode
+
+  Revision 1.31  2000/05/31 06:57:11  florian
     * first implementation of -Oa switch
 
   Revision 1.30  2000/05/16 20:19:05  pierre

+ 8 - 4
compiler/htypechk.pas

@@ -238,8 +238,9 @@ implementation
                    end;
                  pointerdef :
                    begin
-                   { pchar can be assigned to short/ansistrings }
-                     if is_pchar(def_from) and not(m_tp in aktmodeswitches) then
+                   { pchar can be assigned to short/ansistrings,
+                     but not in tp7 compatible mode }
+                     if is_pchar(def_from) and not(m_tp7 in aktmodeswitches) then
                       begin
                         doconv:=tc_pchar_2_string;
                         b:=1;
@@ -1120,7 +1121,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.68  2000-06-06 20:25:43  pierre
+  Revision 1.69  2000-06-11 07:00:21  peter
+    * fixed pchar->string conversion for delphi mode
+
+  Revision 1.68  2000/06/06 20:25:43  pierre
     * unary minus operator overloading was broken
     + accept pointer args in binary operator
 
@@ -1232,4 +1236,4 @@ end.
     * arrayconstructor -> arrayofconst fixed when arraycosntructor was not
       variant.
 
-}
+}