Parcourir la source

+ added options -lS and -lT for source and target os output
(to have a easier way to test OS_SOURCE abd OS_TARGET in makefiles)
* several problems with rtti data
(type of sym was not checked)
assumed to be varsym when they could be procsym or property syms !!

pierre il y a 27 ans
Parent
commit
c7167e92ff
2 fichiers modifiés avec 21 ajouts et 7 suppressions
  1. 10 3
      compiler/symdef.inc
  2. 11 4
      compiler/systems.pas

+ 10 - 3
compiler/symdef.inc

@@ -1791,7 +1791,7 @@
        count : longint;
     procedure count_inittable_fields(sym : psym);{$ifndef fpc}far;{$endif}
       begin
-         if pvarsym(sym)^.definition^.needs_inittable then
+         if (sym^.typ=varsym) and (pvarsym(sym)^.definition^.needs_inittable) then
            inc(count);
       end;
 
@@ -1804,7 +1804,7 @@
 
     procedure write_field_inittable(sym : psym);{$ifndef fpc}far;{$endif}
       begin
-         if pvarsym(sym)^.definition^.needs_inittable then
+         if (sym^.typ=varsym) and pvarsym(sym)^.definition^.needs_inittable then
            begin
               rttilist^.concat(new(pai_const,init_symbol(strpnew(lab2str(pvarsym(sym)^.definition^.get_inittable_label)))));
               rttilist^.concat(new(pai_const,init_32bit(pvarsym(sym)^.address)));
@@ -3199,7 +3199,14 @@
 
 {
   $Log$
-  Revision 1.64  1998-10-22 17:11:21  pierre
+  Revision 1.65  1998-10-26 14:19:28  pierre
+    + added options -lS and -lT for source and target os output
+      (to have a easier way to test OS_SOURCE abd OS_TARGET in makefiles)
+    * several problems with rtti data
+      (type of sym was not checked)
+      assumed to be varsym when they could be procsym or property syms !!
+
+  Revision 1.64  1998/10/22 17:11:21  pierre
     + terminated the include exclude implementation for i386
     * enums inside records fixed
 

+ 11 - 4
compiler/systems.pas

@@ -248,7 +248,7 @@ implementation
           ),
           (
             id           : os_i386_linux;
-            name         : 'Linux-i386';
+            name         : 'Linux for i386';
             sharedlibext : '.so';
             staticlibext : '.a';
             sourceext    : '.pp';
@@ -284,7 +284,7 @@ implementation
           ),
           (
             id           : os_i386_win32;
-            name         : 'Win32';
+            name         : 'Win32 for i386';
             sharedlibext : '.dll';
             staticlibext : '.aw';
             sourceext    : '.pp';
@@ -356,7 +356,7 @@ implementation
           ),
           (
             id           : os_m68k_linux;
-            name         : 'Linux-m68k';
+            name         : 'Linux for m68k';
             sharedlibext : '.so';
             staticlibext : '.a';
             sourceext    : '.pp';
@@ -1174,7 +1174,14 @@ begin
 end.
 {
   $Log$
-  Revision 1.47  1998-10-20 08:07:04  pierre
+  Revision 1.48  1998-10-26 14:19:30  pierre
+    + added options -lS and -lT for source and target os output
+      (to have a easier way to test OS_SOURCE abd OS_TARGET in makefiles)
+    * several problems with rtti data
+      (type of sym was not checked)
+      assumed to be varsym when they could be procsym or property syms !!
+
+  Revision 1.47  1998/10/20 08:07:04  pierre
     * several memory corruptions due to double freemem solved
       => never use p^.loc.location:=p^.left^.loc.location;
     + finally I added now by default