Browse Source

* when removing unnecessary 64 bit widenings, modify both the resultdef
and the totypedef of typeconvnodes because the totypedef is used for
equality comparisons in the node cse

git-svn-id: trunk@18171 -

Jonas Maebe 14 years ago
parent
commit
48695a7705
1 changed files with 4 additions and 1 deletions
  1. 4 1
      compiler/ncnv.pas

+ 4 - 1
compiler/ncnv.pas

@@ -2137,7 +2137,10 @@ implementation
           ordconstn:
           ordconstn:
             inserttypeconv_internal(n,todef);
             inserttypeconv_internal(n,todef);
           typeconvn:
           typeconvn:
-            n.resultdef:=todef;
+            begin
+              n.resultdef:=todef;
+              ttypeconvnode(n).totypedef:=todef;
+            end;
         end;
         end;
       end;
       end;
 {$endif not cpu64bitalu}
 {$endif not cpu64bitalu}