https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107646

--- Comment #6 from David Malcolm <dmalcolm at gcc dot gnu.org> ---
(In reply to David Malcolm from comment #5)
> How precisely to track behavior of API entrypoints?  We can’t implement
> known_functions that precisely model every entrypoint.
> 
> Consider:
> https://docs.python.org/3/c-api/dict.html#c.PyDict_SetItem

Some attribute ideas:

extern int PyDict_SetItem(PyObject *p, PyObject *key, PyObject *val)
  __attribute__((cpython_param_must_be_hashable (key))
  __attribute__((return_val_on_success (0))
  __attribute__((return_val_on_failure (-1))
  __attribute__((cpython_param_incremented_on_success (key))
  __attribute__((cpython_param_untouched_on_success (val))
;

Reply via email to