Author: Armin Rigo <[email protected]>
Branch: 
Changeset: r69238:d323244b7eec
Date: 2014-02-21 12:16 +0100
http://bitbucket.org/pypy/pypy/changeset/d323244b7eec/

Log:    Try to give as much info as possible here

diff --git a/rpython/jit/codewriter/call.py b/rpython/jit/codewriter/call.py
--- a/rpython/jit/codewriter/call.py
+++ b/rpython/jit/codewriter/call.py
@@ -192,8 +192,15 @@
         # check the number and type of arguments
         FUNC = op.args[0].concretetype.TO
         ARGS = FUNC.ARGS
-        assert NON_VOID_ARGS == [T for T in ARGS if T is not lltype.Void]
-        assert RESULT == FUNC.RESULT
+        if NON_VOID_ARGS != [T for T in ARGS if T is not lltype.Void]:
+            raise Exception(
+                "in operation %r: caling a function with signature %r, "
+                "but passing actual arguments (ignoring voids) of types %r"
+                % (op, FUNC, NON_VOID_ARGS))
+        if RESULT != FUNC.RESULT:
+            raise Exception(
+                "in operation %r: caling a function with signature %r, "
+                "but the actual return type is %r" % (op, FUNC, RESULT))
         # ok
         # get the 'elidable' and 'loopinvariant' flags from the function object
         elidable = False
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to