Browse Source

* fixed bug in type checking for compatibility of set elements (merged)
* released fix in options.pas from Carl also for FPC (merged)

Jonas Maebe 24 years ago
parent
commit
c7af813c76
2 changed files with 16 additions and 5 deletions
  1. 8 2
      compiler/options.pas
  2. 8 3
      compiler/types.pas

+ 8 - 2
compiler/options.pas

@@ -1,3 +1,4 @@
+
 {
     $Id$
     Copyright (c) 1998-2000 by Florian Klaempfl and Peter Vreman
@@ -771,7 +772,8 @@ begin
                         's' : initmoduleswitches:=initmoduleswitches+[cs_compilesystem];
                         '-' : begin
                                 initmoduleswitches:=initmoduleswitches
-                                  - [cs_compilesystem]
+                                  - [cs_compilesystem];
+                                initglobalswitches:=initglobalswitches
                                   + [cs_check_unit_name];
                               end;
                        else
@@ -1562,7 +1564,11 @@ finalization
 end.
 {
   $Log$
-  Revision 1.30  2001-02-26 08:08:39  michael
+  Revision 1.31  2001-02-26 12:47:46  jonas
+    * fixed bug in type checking for compatibility of set elements (merged)
+    * released fix in options.pas from Carl also for FPC (merged)
+
+  Revision 1.30  2001/02/26 08:08:39  michael
   * option_help_pages:
      allow to omit an option (use one space char insteed an option)
      but to indent a continuation line as if option is present. For lines:

+ 8 - 3
compiler/types.pas

@@ -1062,14 +1062,15 @@ implementation
                  ( (pfiledef(def1)^.typedfiletype.def=pdef(voiddef)) or
                    (pfiledef(def2)^.typedfiletype.def=pdef(voiddef))
                  )))
-         { sets with the same element type are equal }
+         { sets with the same element base type are equal }
          else
            if (def1^.deftype=setdef) and (def2^.deftype=setdef) then
              begin
                 if assigned(psetdef(def1)^.elementtype.def) and
                    assigned(psetdef(def2)^.elementtype.def) then
-                  b:=(psetdef(def1)^.elementtype.def^.deftype=psetdef(def2)^.elementtype.def^.deftype)
+                  b:=is_subequal(psetdef(def1)^.elementtype.def,psetdef(def2)^.elementtype.def)
                 else
+                  { empty set is compatible with everything }
                   b:=true;
              end
          else
@@ -1740,7 +1741,11 @@ implementation
 end.
 {
   $Log$
-  Revision 1.32  2001-02-20 21:44:25  peter
+  Revision 1.33  2001-02-26 12:47:46  jonas
+    * fixed bug in type checking for compatibility of set elements (merged)
+    * released fix in options.pas from Carl also for FPC (merged)
+
+  Revision 1.32  2001/02/20 21:44:25  peter
     * tvarrec -> array of const fixed
 
   Revision 1.31  2001/01/22 11:20:15  jonas