Author: Armin Rigo <ar...@tunes.org> Branch: reverse-debugger Changeset: r84960:f7fe5ea0f6d4 Date: 2016-06-06 08:55 +0200 http://bitbucket.org/pypy/pypy/changeset/f7fe5ea0f6d4/
Log: External function calls diff --git a/rpython/translator/c/funcgen.py b/rpython/translator/c/funcgen.py --- a/rpython/translator/c/funcgen.py +++ b/rpython/translator/c/funcgen.py @@ -391,11 +391,16 @@ # skip assignment of 'void' return value r = self.expr(v_result) line = '%s = %s' % (r, line) - if targets: + else: + r = None + if targets is not None: for graph in targets: if getattr(graph, 'inhibit_tail_call', False): line += '\nPYPY_INHIBIT_TAIL_CALL();' break + elif self.db.reverse_debugger: + from rpython.translator.revdb import revdb_genc + line += '\n' + revdb_genc.emit(self.lltypename(v_result), r) return line def OP_DIRECT_CALL(self, op): diff --git a/rpython/translator/revdb/test/test_basic.py b/rpython/translator/revdb/test/test_basic.py --- a/rpython/translator/revdb/test/test_basic.py +++ b/rpython/translator/revdb/test/test_basic.py @@ -79,6 +79,9 @@ c2 = rdb.next('c') assert c2 == c1 got.append(''.join(s)) + # write() call + x = rdb.next(); assert x == len('[abc, d]\n') + x = rdb.next('i'); assert x == 0 # errno # that's all that should get from this simple example assert rdb.done() # _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit