davidmalcolm / gcc-python-plugin

GCC plugin that embeds CPython inside the compiler
GNU General Public License v3.0
202 stars 58 forks source link

NotImplementedError from checker in impl_PyTuple_Size (NotImplementedError: eval_rvalue: None None) #64

Open davidmalcolm opened 7 years ago

davidmalcolm commented 7 years ago

A different NotImplementedError when building gdb: {{{ ../../archer/gdb/python/py-value.c: In function ‘valpy_new’: ../../archer/gdb/python/py-value.c:130:20: error: Unhandled Python exception raised calling 'execute' method Traceback (most recent call last): File "/home/tromey/Space/Trunk/gcc-python-plugin/libcpychecker/init.py", line 64, in execute self._check_refcounts(fun) File "/home/tromey/Space/Trunk/gcc-python-plugin/libcpychecker/init.py", line 68, in _check_refcounts self.show_possible_null_derefs) File "/home/tromey/Space/Trunk/gcc-python-plugin/libcpychecker/refcounts.py", line 2838, in check_refcounts limits=limits) File "/home/tromey/Space/Trunk/gcc-python-plugin/libcpychecker/absinterp.py", line 2716, in iter_traces depth + 1): File "/home/tromey/Space/Trunk/gcc-python-plugin/libcpychecker/absinterp.py", line 2716, in iter_traces depth + 1): File "/home/tromey/Space/Trunk/gcc-python-plugin/libcpychecker/absinterp.py", line 2680, in iter_traces transitions = curstate.get_transitions() File "/home/tromey/Space/Trunk/gcc-python-plugin/libcpychecker/absinterp.py", line 1828, in get_transitions return self._get_transitions_for_stmt(stmt) File "/home/tromey/Space/Trunk/gcc-python-plugin/libcpychecker/absinterp.py", line 1844, in _get_transitions_for_stmt return self._get_transitions_for_GimpleCall(stmt) File "/home/tromey/Space/Trunk/gcc-python-plugin/libcpychecker/absinterp.py", line 1995, in _get_transitions_for_GimpleCall return meth(stmt, *args) File "/home/tromey/Space/Trunk/gcc-python-plugin/libcpychecker/refcounts.py", line 2512, in impl_PyTuple_Size fnmeta.desc_when_call_returns_value('ob_size')) File "/home/tromey/Space/Trunk/gcc-python-plugin/libcpychecker/absinterp.py", line 1733, in mktrans_assignment new.assign(lhs, rhs, self.loc.get_gcc_loc()) File "/home/tromey/Space/Trunk/gcc-python-plugin/libcpychecker/absinterp.py", line 1405, in assign value = self.eval_rvalue(rhs, loc) File "/home/tromey/Space/Trunk/gcc-python-plugin/libcpychecker/absinterp.py", line 1395, in eval_rvalue raise NotImplementedError('eval_rvalue: %r %s' % (expr, expr)) NotImplementedError: eval_rvalue: None None }}}

davidmalcolm commented 7 years ago

Imported from trac issue 24. Created by tromey on 2012-01-05T09:24:15, last modified: 2012-01-05T19:05:00