Bläddra i källkod

m68k/n68kmat.pas, tm68kshlshrnode.first_shlshr64bitint:
use RTL helper functions (through the inherited method) if we're not shifting by a constant

This fixes test/cg/tshlshr

git-svn-id: trunk@23378 -

svenbarth 12 år sedan
förälder
incheckning
741992bae4
1 ändrade filer med 6 tillägg och 2 borttagningar
  1. 6 2
      compiler/m68k/n68kmat.pas

+ 6 - 2
compiler/m68k/n68kmat.pas

@@ -264,8 +264,12 @@ implementation
 
     function tm68kShlShrNode.first_shlshr64bitint:TNode;
       begin
-        { 2nd pass is our friend }
-        result := nil;
+        if is_64bit(left.resultdef) and not (right.nodetype=ordconstn) then
+          { for 64bit shifts with anything but constants we use rtl helpers }
+          result:=inherited
+        else
+          { 2nd pass is our friend }
+          result := nil;
       end;