peter 26 years ago
parent
commit
1f99e8e497
1 changed files with 13 additions and 7 deletions
  1. 13 7
      compiler/cg386cal.pas

+ 13 - 7
compiler/cg386cal.pas

@@ -913,11 +913,11 @@ implementation
                 end
                 end
               else
               else
                 begin
                 begin
-                   if (p^.resulttype^.deftype=orddef) then
+                   if (p^.resulttype^.deftype in [orddef,enumdef]) then
                      begin
                      begin
                         p^.location.loc:=LOC_REGISTER;
                         p^.location.loc:=LOC_REGISTER;
-                        case porddef(p^.resulttype)^.typ of
-                          s32bit,u32bit,bool32bit :
+                        case p^.resulttype^.size of
+                          4 :
                             begin
                             begin
 {$ifdef test_dest_loc}
 {$ifdef test_dest_loc}
                                if dest_loc_known and (dest_loc_tree=p) then
                                if dest_loc_known and (dest_loc_tree=p) then
@@ -930,7 +930,7 @@ implementation
                                     p^.location.register:=hregister;
                                     p^.location.register:=hregister;
                                  end;
                                  end;
                             end;
                             end;
-                          uchar,u8bit,bool8bit,s8bit:
+                          1 :
                             begin
                             begin
 {$ifdef test_dest_loc}
 {$ifdef test_dest_loc}
                                  if dest_loc_known and (dest_loc_tree=p) then
                                  if dest_loc_known and (dest_loc_tree=p) then
@@ -943,7 +943,7 @@ implementation
                                       p^.location.register:=reg32toreg8(hregister);
                                       p^.location.register:=reg32toreg8(hregister);
                                    end;
                                    end;
                               end;
                               end;
-                          s16bit,u16bit,bool16bit :
+                          2 :
                             begin
                             begin
 {$ifdef test_dest_loc}
 {$ifdef test_dest_loc}
                                if dest_loc_known and (dest_loc_tree=p) then
                                if dest_loc_known and (dest_loc_tree=p) then
@@ -956,7 +956,7 @@ implementation
                                     p^.location.register:=reg32toreg16(hregister);
                                     p^.location.register:=reg32toreg16(hregister);
                                  end;
                                  end;
                             end;
                             end;
-                           s64bitint,u64bit:
+                           8 :
                              begin
                              begin
 {$ifdef test_dest_loc}
 {$ifdef test_dest_loc}
 {$error Don't know what to do here}
 {$error Don't know what to do here}
@@ -1166,12 +1166,18 @@ implementation
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.92  1999-06-16 09:32:45  peter
+  Revision 1.93  1999-06-22 13:31:24  peter
+    * merged
+
+  Revision 1.92  1999/06/16 09:32:45  peter
     * merged
     * merged
 
 
   Revision 1.91  1999/06/14 17:47:47  peter
   Revision 1.91  1999/06/14 17:47:47  peter
     * merged
     * merged
 
 
+  Revision 1.90.2.3  1999/06/22 13:30:08  peter
+    * fixed return with packenum
+
   Revision 1.90.2.2  1999/06/16 09:30:44  peter
   Revision 1.90.2.2  1999/06/16 09:30:44  peter
     * fixed loading of ansistring when eax was already used
     * fixed loading of ansistring when eax was already used