Browse Source

* real fix for web bug882

Jonas Maebe 25 years ago
parent
commit
f6a406c6e9
1 changed files with 7 additions and 3 deletions
  1. 7 3
      compiler/tcmem.pas

+ 7 - 3
compiler/tcmem.pas

@@ -291,6 +291,7 @@ implementation
                 end
                 end
               else
               else
                 begin
                 begin
+                  firstpass(p^.left);
                   { what are we getting the address from an absolute sym? }
                   { what are we getting the address from an absolute sym? }
                   hp:=p^.left;
                   hp:=p^.left;
                   while assigned(hp) and (hp^.treetype in [vecn,derefn,subscriptn]) do
                   while assigned(hp) and (hp^.treetype in [vecn,derefn,subscriptn]) do
@@ -302,14 +303,14 @@ implementation
                      if not(cs_typed_addresses in aktlocalswitches) then
                      if not(cs_typed_addresses in aktlocalswitches) then
                        p^.resulttype:=voidfarpointerdef
                        p^.resulttype:=voidfarpointerdef
                      else
                      else
-                       p^.resulttype:=new(ppointerdef,initfardef(hp^.resulttype));
+                       p^.resulttype:=new(ppointerdef,initfardef(p^.left^.resulttype));
                    end
                    end
                   else
                   else
                    begin
                    begin
                      if not(cs_typed_addresses in aktlocalswitches) then
                      if not(cs_typed_addresses in aktlocalswitches) then
                        p^.resulttype:=voidpointerdef
                        p^.resulttype:=voidpointerdef
                      else
                      else
-                       p^.resulttype:=new(ppointerdef,initdef(hp^.resulttype));
+                       p^.resulttype:=new(ppointerdef,initdef(p^.left^.resulttype));
                    end;
                    end;
                 end;
                 end;
            end;
            end;
@@ -646,7 +647,10 @@ implementation
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.43  2000-03-22 15:41:10  jonas
+  Revision 1.44  2000-03-23 16:29:32  jonas
+    * real fix for web bug882
+
+  Revision 1.43  2000/03/22 15:41:10  jonas
     * fixed webbug 882
     * fixed webbug 882
 
 
   Revision 1.42  2000/02/17 14:53:43  florian
   Revision 1.42  2000/02/17 14:53:43  florian