David Malcolm dmalcolm@redhat.com writes:
tests/cpychecker/refcounts/fold_conditional: int vs Py_ssize_t issue. I seen that you're on i686. I've been doing my devel work on a 64-bit box; I think I may have accidentally assumed that a type coercion happens in this test. I'm interested in seeing what the output looks like when adding "-fdump-tree-gimple" to the gcc invocation line for that test on your machine (it should generate a file like "input.c.004t.gimple").
Here it is:
fold_conditional (struct PyObject * self, struct PyObject * args) { struct PyObject * D.11808; Py_ssize_t D.11809; struct _typeobject * D.11812; struct PyObject * list;
list = PyList_New (5); if (list == 0B) goto <D.11806>; else goto <D.11807>; <D.11806>: D.11808 = 0B; return D.11808; <D.11807>: D.11809 = MEM[(struct PyVarObject *)list].ob_size; if (D.11809 != 5) goto <D.11810>; else goto <D.11811>; <D.11810>: D.11808 = list; return D.11808; <D.11811>: D.11812 = list->ob_type; if (D.11812 != &PyList_Type) goto <D.11813>; else goto <D.11814>; <D.11813>: D.11808 = list; return D.11808; <D.11814>: D.11808 = list; return D.11808; }
I'll look into the segfaults later.
Cheers,
--Denys