------- Comment #4 from pinskia at gcc dot gnu dot org  2006-08-16 18:09 -------
Here as a reduced testcase as I can get it:
typedef struct
{
  int ob_refcnt;
  struct _typeobject *ob_type;
}PyObject;
typedef void (*destructor) (PyObject *);
typedef struct _typeobject
{
  destructor tp_dealloc;
}PyTypeObject;
static PyObject *__Pyx_GetExcValue (void);
static PyObject *__Pyx_GetName (PyObject * dict, PyObject * name);
static PyObject *__pyx_b;
static char *__pyx_filename;
static char **__pyx_f;
static PyObject *__pyx_v_11environment_collattrs;
static PyObject *__pyx_n_AttributeError;
static PyObject *__pyx_n_getattr;
__pyx_f_11 (PyObject *
       __pyx_v_self,
       PyObject * __pyx_kwds)
{
  PyObject *__pyx_v_x;
  PyObject *__pyx_2 = 0;
  PyObject *__pyx_3 = 0;
  int __pyx_4;
  int __pyx_5;
  PyObject *__pyx_6 = 0;
  PyObject *__pyx_7 = 0;
  PyObject *__pyx_8 = 0;
  if (__pyx_5 < 0)
      __pyx_filename = __pyx_f[0];
  if (__pyx_5)
      return;
  for (;;)
    {
      __pyx_2 = PyObject_GetIter (__pyx_v_11environment_collattrs);
      for (;;)
        {
          __pyx_3 = PyIter_Next (__pyx_2);
          if (!__pyx_3)
              break;
          __pyx_8 = __Pyx_GetName (__pyx_b, __pyx_n_AttributeError);
              __pyx_3 = __Pyx_GetExcValue ();
              if (--(__pyx_3)->ob_refcnt != 0);
                __pyx_3 = 0;
                __pyx_6 = __Pyx_GetName (__pyx_b, __pyx_n_getattr);
                __pyx_filename = __pyx_f[0];
                if (!__pyx_7)
                    goto __pyx_L19;
                __pyx_8 = PyObject_CallObject (__pyx_6, __pyx_7);
                if (--(__pyx_v_x)->ob_refcnt != 0);
                __pyx_v_x = __pyx_8;
                __pyx_filename = __pyx_f[0];
                if (__pyx_4)
                  {
                    __pyx_8 = PyTuple_New (1);
                    if (!__pyx_8)
                        __pyx_filename = __pyx_f[0];
                    __pyx_3 = PyObject_CallObject (__pyx_7, __pyx_8);
                    if (!__pyx_3)
                        __pyx_filename = __pyx_f[0];
                  }
            __pyx_L19:;
              if ((__pyx_6) != ((void *) 0))
                ((*((PyObject *) (__pyx_6))->ob_type->
                  tp_dealloc) ((PyObject *) ((PyObject *) (__pyx_6))));
              if ((__pyx_7) != ((void *) 0))
                if (--(__pyx_7)->ob_refcnt != 0);
                  if ((__pyx_8) != ((void *) 0))
                    if (--(__pyx_8)->ob_refcnt != 0);
                      if ((__pyx_3) != ((void *) 0))
                        --(__pyx_3)->ob_refcnt;
                __pyx_6 = __Pyx_GetName (__pyx_b, __pyx_n_AttributeError);
              __pyx_5 = PyErr_ExceptionMatches (__pyx_6);
              __pyx_7 = __Pyx_GetExcValue ();
        }
    }
}
static PyObject *__Pyx_GetName (PyObject * dict, PyObject * name){}
static PyObject *__Pyx_GetExcValue (void){}


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28753

Reply via email to