Przeglądaj źródła

* hidden high parameter must be of type ptrsinttype, resolves issue #29204

git-svn-id: trunk@32745 -
florian 9 lat temu
rodzic
commit
e1d4d167b4
2 zmienionych plików z 4 dodań i 4 usunięć
  1. 3 3
      compiler/ncal.pas
  2. 1 1
      compiler/pparautl.pas

+ 3 - 3
compiler/ncal.pas

@@ -2119,7 +2119,7 @@ implementation
                 begin
                 begin
                   maybe_load_in_temp(p);
                   maybe_load_in_temp(p);
                   hightree:=caddnode.create(subn,geninlinenode(in_length_x,false,p.getcopy),
                   hightree:=caddnode.create(subn,geninlinenode(in_length_x,false,p.getcopy),
-                                            cordconstnode.create(1,sinttype,false));
+                                            cordconstnode.create(1,ptrsinttype,false));
                   loadconst:=false;
                   loadconst:=false;
                 end;
                 end;
            end;
            end;
@@ -2127,13 +2127,13 @@ implementation
           len:=0;
           len:=0;
         end;
         end;
         if loadconst then
         if loadconst then
-          hightree:=cordconstnode.create(len,sinttype,true)
+          hightree:=cordconstnode.create(len,ptrsinttype,true)
         else
         else
           begin
           begin
             if not assigned(hightree) then
             if not assigned(hightree) then
               internalerror(200304071);
               internalerror(200304071);
             { Need to use explicit, because it can also be a enum }
             { Need to use explicit, because it can also be a enum }
-            hightree:=ctypeconvnode.create_internal(hightree,sinttype);
+            hightree:=ctypeconvnode.create_internal(hightree,ptrsinttype);
           end;
           end;
         result:=hightree;
         result:=hightree;
       end;
       end;

+ 1 - 1
compiler/pparautl.pas

@@ -353,7 +353,7 @@ implementation
            { needs high parameter ? }
            { needs high parameter ? }
            if paramanager.push_high_param(varspez,vardef,pd.proccalloption) then
            if paramanager.push_high_param(varspez,vardef,pd.proccalloption) then
              begin
              begin
-               hvs:=cparavarsym.create('$high'+name,paranr+1,vs_const,sinttype,[vo_is_high_para,vo_is_hidden_para]);
+               hvs:=cparavarsym.create('$high'+name,paranr+1,vs_const,ptrsinttype,[vo_is_high_para,vo_is_hidden_para]);
                hvs.symoptions:=[];
                hvs.symoptions:=[];
                owner.insert(hvs);
                owner.insert(hvs);
                { don't place to register if it will be accessed from implicit finally block }
                { don't place to register if it will be accessed from implicit finally block }