Skip to content

Commit 5bba310

Browse files
committed
IntBuiltins.RichCompareNode should accept non-ints as well
1 parent 2cebdf9 commit 5bba310

File tree

1 file changed

+6
-0
lines changed
  • graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/ints

1 file changed

+6
-0
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/ints/IntBuiltins.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@
123123
import com.oracle.graal.python.builtins.objects.ints.IntBuiltinsClinicProviders.FormatNodeClinicProviderGen;
124124
import com.oracle.graal.python.builtins.objects.tuple.PTuple;
125125
import com.oracle.graal.python.builtins.objects.type.PythonBuiltinClass;
126+
import com.oracle.graal.python.lib.PyLongCheckNode;
126127
import com.oracle.graal.python.lib.PyNumberFloatNode;
127128
import com.oracle.graal.python.lib.PyObjectHashNode;
128129
import com.oracle.graal.python.nodes.ErrorMessages;
@@ -2648,8 +2649,13 @@ abstract static class RichCompareNode extends PythonTernaryBuiltinNode {
26482649
@Specialization(guards = {"opCode == cachedOp.opCode"}, limit = "6")
26492650
static Object doCached(Object left, Object right, @SuppressWarnings("unused") int opCode,
26502651
@Bind("this") Node inliningTarget,
2652+
@Cached PyLongCheckNode checkLeft,
2653+
@Cached PyLongCheckNode checkRight,
26512654
@SuppressWarnings("unused") @Cached("fromOpCode(opCode)") ComparisonOp cachedOp,
26522655
@Cached RichCompareHelperNode cmpNode) {
2656+
if (!checkLeft.execute(inliningTarget, left) || !checkRight.execute(inliningTarget, right)) {
2657+
return PNotImplemented.NOT_IMPLEMENTED;
2658+
}
26532659
return cmpNode.execute(inliningTarget, left, right, cachedOp);
26542660
}
26552661
}

0 commit comments

Comments
 (0)