Cython has moved to github.
pyrex
view Tests/8/Reference/extinherit.c @ 86:da6e97bb7e6d
Multiple compilation fixed
| author | Gregory Ewing <greg.ewing@canterbury.ac.nz> |
|---|---|
| date | Sat May 24 15:50:12 2008 +1200 (4 years ago) |
| parents | 6c5f5271ebab |
| children | 3b20cb4923eb |
line source
1 /* Generated by Pyrex */
3 #define PY_SSIZE_T_CLEAN
4 #include "Python.h"
5 #include "structmember.h"
6 #ifndef PY_LONG_LONG
7 #define PY_LONG_LONG LONG_LONG
8 #endif
9 #if PY_VERSION_HEX < 0x02050000
10 typedef int Py_ssize_t;
11 #define PY_SSIZE_T_MAX INT_MAX
12 #define PY_SSIZE_T_MIN INT_MIN
13 #define PyInt_FromSsize_t(z) PyInt_FromLong(z)
14 #define PyInt_AsSsize_t(o) PyInt_AsLong(o)
15 #endif
16 #ifndef WIN32
17 #ifndef __stdcall
18 #define __stdcall
19 #endif
20 #ifndef __cdecl
21 #define __cdecl
22 #endif
23 #endif
24 #ifdef __cplusplus
25 #define __PYX_EXTERN_C extern "C"
26 #else
27 #define __PYX_EXTERN_C extern
28 #endif
29 #include <math.h>
32 typedef struct {PyObject **p; char *s;} __Pyx_InternTabEntry; /*proto*/
33 typedef struct {PyObject **p; char *s; long n;} __Pyx_StringTabEntry; /*proto*/
35 static PyObject *__pyx_m;
36 static PyObject *__pyx_b;
37 static int __pyx_lineno;
38 static char *__pyx_filename;
39 static char **__pyx_f;
41 static int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); /*proto*/
43 static void __Pyx_WriteUnraisable(char *name); /*proto*/
45 static void __Pyx_AddTraceback(char *funcname); /*proto*/
47 /* Declarations from extinherit */
49 struct __pyx_obj_10extinherit_Parrot {
50 PyObject_HEAD
51 PyObject *name;
52 int alive;
53 };
55 struct __pyx_obj_10extinherit_Norwegian {
56 struct __pyx_obj_10extinherit_Parrot __pyx_base;
57 PyObject *plumage_colour;
58 };
62 static PyTypeObject *__pyx_ptype_10extinherit_Parrot = 0;
63 static PyTypeObject *__pyx_ptype_10extinherit_Norwegian = 0;
64 static void __pyx_f_10extinherit_rest(struct __pyx_obj_10extinherit_Norwegian *); /*proto*/
67 static __Pyx_StringTabEntry __pyx_string_tab[] = {
68 {0, 0, 0, 0}
69 };
71 /* Implementation of extinherit */
73 static void __pyx_f_10extinherit_rest(struct __pyx_obj_10extinherit_Norwegian *__pyx_v_polly) {
74 struct __pyx_obj_10extinherit_Parrot *__pyx_v_fred;
75 PyObject *__pyx_v_spam;
76 Py_INCREF((PyObject *)__pyx_v_polly);
77 __pyx_v_fred = ((struct __pyx_obj_10extinherit_Parrot *)Py_None); Py_INCREF(Py_None);
78 __pyx_v_spam = Py_None; Py_INCREF(Py_None);
80 /* "/Local/Projects/D/Pyrex/Source/Tests/8/extinherit.pyx":11 */
81 Py_INCREF(((PyObject *)__pyx_v_polly));
82 Py_DECREF(((PyObject *)__pyx_v_fred));
83 __pyx_v_fred = ((struct __pyx_obj_10extinherit_Parrot *)__pyx_v_polly);
85 /* "/Local/Projects/D/Pyrex/Source/Tests/8/extinherit.pyx":12 */
86 if (!__Pyx_TypeTest(((PyObject *)__pyx_v_fred), __pyx_ptype_10extinherit_Norwegian)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; goto __pyx_L1;}
87 Py_INCREF(((PyObject *)__pyx_v_fred));
88 Py_DECREF(((PyObject *)__pyx_v_polly));
89 __pyx_v_polly = ((struct __pyx_obj_10extinherit_Norwegian *)__pyx_v_fred);
91 /* "/Local/Projects/D/Pyrex/Source/Tests/8/extinherit.pyx":13 */
92 if (!__Pyx_TypeTest(__pyx_v_spam, __pyx_ptype_10extinherit_Norwegian)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 13; goto __pyx_L1;}
93 Py_INCREF(__pyx_v_spam);
94 Py_DECREF(((PyObject *)__pyx_v_polly));
95 __pyx_v_polly = ((struct __pyx_obj_10extinherit_Norwegian *)__pyx_v_spam);
97 /* "/Local/Projects/D/Pyrex/Source/Tests/8/extinherit.pyx":14 */
98 Py_INCREF(((PyObject *)__pyx_v_polly));
99 Py_DECREF(__pyx_v_spam);
100 __pyx_v_spam = ((PyObject *)__pyx_v_polly);
102 /* "/Local/Projects/D/Pyrex/Source/Tests/8/extinherit.pyx":15 */
103 __pyx_v_polly->__pyx_base.alive = 0;
105 goto __pyx_L0;
106 __pyx_L1:;
107 __Pyx_WriteUnraisable("extinherit.rest");
108 __pyx_L0:;
109 Py_DECREF(__pyx_v_fred);
110 Py_DECREF(__pyx_v_spam);
111 Py_DECREF((PyObject *)__pyx_v_polly);
112 }
114 static PyObject *__pyx_tp_new_10extinherit_Parrot(PyTypeObject *t, PyObject *a, PyObject *k) {
115 struct __pyx_obj_10extinherit_Parrot *p;
116 PyObject *o = (*t->tp_alloc)(t, 0);
117 if (!o) return 0;
118 p = ((struct __pyx_obj_10extinherit_Parrot *)o);
119 p->name = Py_None; Py_INCREF(Py_None);
120 return o;
121 }
123 static void __pyx_tp_dealloc_10extinherit_Parrot(PyObject *o) {
124 struct __pyx_obj_10extinherit_Parrot *p = (struct __pyx_obj_10extinherit_Parrot *)o;
125 Py_XDECREF(p->name);
126 (*o->ob_type->tp_free)(o);
127 }
129 static int __pyx_tp_traverse_10extinherit_Parrot(PyObject *o, visitproc v, void *a) {
130 int e;
131 struct __pyx_obj_10extinherit_Parrot *p = (struct __pyx_obj_10extinherit_Parrot *)o;
132 if (p->name) {
133 e = (*v)(p->name, a); if (e) return e;
134 }
135 return 0;
136 }
138 static int __pyx_tp_clear_10extinherit_Parrot(PyObject *o) {
139 struct __pyx_obj_10extinherit_Parrot *p = (struct __pyx_obj_10extinherit_Parrot *)o;
140 PyObject *t;
141 t = p->name;
142 p->name = Py_None; Py_INCREF(Py_None);
143 Py_XDECREF(t);
144 return 0;
145 }
147 static struct PyMethodDef __pyx_methods_10extinherit_Parrot[] = {
148 {0, 0, 0, 0}
149 };
151 static PyNumberMethods __pyx_tp_as_number_Parrot = {
152 0, /*nb_add*/
153 0, /*nb_subtract*/
154 0, /*nb_multiply*/
155 0, /*nb_divide*/
156 0, /*nb_remainder*/
157 0, /*nb_divmod*/
158 0, /*nb_power*/
159 0, /*nb_negative*/
160 0, /*nb_positive*/
161 0, /*nb_absolute*/
162 0, /*nb_nonzero*/
163 0, /*nb_invert*/
164 0, /*nb_lshift*/
165 0, /*nb_rshift*/
166 0, /*nb_and*/
167 0, /*nb_xor*/
168 0, /*nb_or*/
169 0, /*nb_coerce*/
170 0, /*nb_int*/
171 0, /*nb_long*/
172 0, /*nb_float*/
173 0, /*nb_oct*/
174 0, /*nb_hex*/
175 0, /*nb_inplace_add*/
176 0, /*nb_inplace_subtract*/
177 0, /*nb_inplace_multiply*/
178 0, /*nb_inplace_divide*/
179 0, /*nb_inplace_remainder*/
180 0, /*nb_inplace_power*/
181 0, /*nb_inplace_lshift*/
182 0, /*nb_inplace_rshift*/
183 0, /*nb_inplace_and*/
184 0, /*nb_inplace_xor*/
185 0, /*nb_inplace_or*/
186 0, /*nb_floor_divide*/
187 0, /*nb_true_divide*/
188 0, /*nb_inplace_floor_divide*/
189 0, /*nb_inplace_true_divide*/
190 #if Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_INDEX
191 0, /*nb_index*/
192 #endif
193 };
195 static PySequenceMethods __pyx_tp_as_sequence_Parrot = {
196 0, /*sq_length*/
197 0, /*sq_concat*/
198 0, /*sq_repeat*/
199 0, /*sq_item*/
200 0, /*sq_slice*/
201 0, /*sq_ass_item*/
202 0, /*sq_ass_slice*/
203 0, /*sq_contains*/
204 0, /*sq_inplace_concat*/
205 0, /*sq_inplace_repeat*/
206 };
208 static PyMappingMethods __pyx_tp_as_mapping_Parrot = {
209 0, /*mp_length*/
210 0, /*mp_subscript*/
211 0, /*mp_ass_subscript*/
212 };
214 static PyBufferProcs __pyx_tp_as_buffer_Parrot = {
215 0, /*bf_getreadbuffer*/
216 0, /*bf_getwritebuffer*/
217 0, /*bf_getsegcount*/
218 0, /*bf_getcharbuffer*/
219 };
221 PyTypeObject __pyx_type_10extinherit_Parrot = {
222 PyObject_HEAD_INIT(0)
223 0, /*ob_size*/
224 "extinherit.Parrot", /*tp_name*/
225 sizeof(struct __pyx_obj_10extinherit_Parrot), /*tp_basicsize*/
226 0, /*tp_itemsize*/
227 __pyx_tp_dealloc_10extinherit_Parrot, /*tp_dealloc*/
228 0, /*tp_print*/
229 0, /*tp_getattr*/
230 0, /*tp_setattr*/
231 0, /*tp_compare*/
232 0, /*tp_repr*/
233 &__pyx_tp_as_number_Parrot, /*tp_as_number*/
234 &__pyx_tp_as_sequence_Parrot, /*tp_as_sequence*/
235 &__pyx_tp_as_mapping_Parrot, /*tp_as_mapping*/
236 0, /*tp_hash*/
237 0, /*tp_call*/
238 0, /*tp_str*/
239 0, /*tp_getattro*/
240 0, /*tp_setattro*/
241 &__pyx_tp_as_buffer_Parrot, /*tp_as_buffer*/
242 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
243 0, /*tp_doc*/
244 __pyx_tp_traverse_10extinherit_Parrot, /*tp_traverse*/
245 __pyx_tp_clear_10extinherit_Parrot, /*tp_clear*/
246 0, /*tp_richcompare*/
247 0, /*tp_weaklistoffset*/
248 0, /*tp_iter*/
249 0, /*tp_iternext*/
250 __pyx_methods_10extinherit_Parrot, /*tp_methods*/
251 0, /*tp_members*/
252 0, /*tp_getset*/
253 0, /*tp_base*/
254 0, /*tp_dict*/
255 0, /*tp_descr_get*/
256 0, /*tp_descr_set*/
257 0, /*tp_dictoffset*/
258 0, /*tp_init*/
259 0, /*tp_alloc*/
260 __pyx_tp_new_10extinherit_Parrot, /*tp_new*/
261 0, /*tp_free*/
262 0, /*tp_is_gc*/
263 0, /*tp_bases*/
264 0, /*tp_mro*/
265 0, /*tp_cache*/
266 0, /*tp_subclasses*/
267 0, /*tp_weaklist*/
268 };
270 static PyObject *__pyx_tp_new_10extinherit_Norwegian(PyTypeObject *t, PyObject *a, PyObject *k) {
271 struct __pyx_obj_10extinherit_Norwegian *p;
272 PyObject *o = __pyx_ptype_10extinherit_Parrot->tp_new(t, a, k);
273 if (!o) return 0;
274 p = ((struct __pyx_obj_10extinherit_Norwegian *)o);
275 p->plumage_colour = Py_None; Py_INCREF(Py_None);
276 return o;
277 }
279 static void __pyx_tp_dealloc_10extinherit_Norwegian(PyObject *o) {
280 struct __pyx_obj_10extinherit_Norwegian *p = (struct __pyx_obj_10extinherit_Norwegian *)o;
281 Py_XDECREF(p->plumage_colour);
282 __pyx_ptype_10extinherit_Parrot->tp_dealloc(o);
283 }
285 static int __pyx_tp_traverse_10extinherit_Norwegian(PyObject *o, visitproc v, void *a) {
286 int e;
287 struct __pyx_obj_10extinherit_Norwegian *p = (struct __pyx_obj_10extinherit_Norwegian *)o;
288 traverseproc t;
289 if ((t = __pyx_ptype_10extinherit_Parrot->tp_traverse)) {
290 e = t(o, v, a); if (e) return e;
291 }
292 if (p->plumage_colour) {
293 e = (*v)(p->plumage_colour, a); if (e) return e;
294 }
295 return 0;
296 }
298 static int __pyx_tp_clear_10extinherit_Norwegian(PyObject *o) {
299 struct __pyx_obj_10extinherit_Norwegian *p = (struct __pyx_obj_10extinherit_Norwegian *)o;
300 PyObject *t;
301 inquiry c;
302 if ((c = __pyx_ptype_10extinherit_Parrot->tp_clear)) {
303 c(o);
304 }
305 t = p->plumage_colour;
306 p->plumage_colour = Py_None; Py_INCREF(Py_None);
307 Py_XDECREF(t);
308 return 0;
309 }
311 static struct PyMethodDef __pyx_methods_10extinherit_Norwegian[] = {
312 {0, 0, 0, 0}
313 };
315 static PyNumberMethods __pyx_tp_as_number_Norwegian = {
316 0, /*nb_add*/
317 0, /*nb_subtract*/
318 0, /*nb_multiply*/
319 0, /*nb_divide*/
320 0, /*nb_remainder*/
321 0, /*nb_divmod*/
322 0, /*nb_power*/
323 0, /*nb_negative*/
324 0, /*nb_positive*/
325 0, /*nb_absolute*/
326 0, /*nb_nonzero*/
327 0, /*nb_invert*/
328 0, /*nb_lshift*/
329 0, /*nb_rshift*/
330 0, /*nb_and*/
331 0, /*nb_xor*/
332 0, /*nb_or*/
333 0, /*nb_coerce*/
334 0, /*nb_int*/
335 0, /*nb_long*/
336 0, /*nb_float*/
337 0, /*nb_oct*/
338 0, /*nb_hex*/
339 0, /*nb_inplace_add*/
340 0, /*nb_inplace_subtract*/
341 0, /*nb_inplace_multiply*/
342 0, /*nb_inplace_divide*/
343 0, /*nb_inplace_remainder*/
344 0, /*nb_inplace_power*/
345 0, /*nb_inplace_lshift*/
346 0, /*nb_inplace_rshift*/
347 0, /*nb_inplace_and*/
348 0, /*nb_inplace_xor*/
349 0, /*nb_inplace_or*/
350 0, /*nb_floor_divide*/
351 0, /*nb_true_divide*/
352 0, /*nb_inplace_floor_divide*/
353 0, /*nb_inplace_true_divide*/
354 #if Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_INDEX
355 0, /*nb_index*/
356 #endif
357 };
359 static PySequenceMethods __pyx_tp_as_sequence_Norwegian = {
360 0, /*sq_length*/
361 0, /*sq_concat*/
362 0, /*sq_repeat*/
363 0, /*sq_item*/
364 0, /*sq_slice*/
365 0, /*sq_ass_item*/
366 0, /*sq_ass_slice*/
367 0, /*sq_contains*/
368 0, /*sq_inplace_concat*/
369 0, /*sq_inplace_repeat*/
370 };
372 static PyMappingMethods __pyx_tp_as_mapping_Norwegian = {
373 0, /*mp_length*/
374 0, /*mp_subscript*/
375 0, /*mp_ass_subscript*/
376 };
378 static PyBufferProcs __pyx_tp_as_buffer_Norwegian = {
379 0, /*bf_getreadbuffer*/
380 0, /*bf_getwritebuffer*/
381 0, /*bf_getsegcount*/
382 0, /*bf_getcharbuffer*/
383 };
385 PyTypeObject __pyx_type_10extinherit_Norwegian = {
386 PyObject_HEAD_INIT(0)
387 0, /*ob_size*/
388 "extinherit.Norwegian", /*tp_name*/
389 sizeof(struct __pyx_obj_10extinherit_Norwegian), /*tp_basicsize*/
390 0, /*tp_itemsize*/
391 __pyx_tp_dealloc_10extinherit_Norwegian, /*tp_dealloc*/
392 0, /*tp_print*/
393 0, /*tp_getattr*/
394 0, /*tp_setattr*/
395 0, /*tp_compare*/
396 0, /*tp_repr*/
397 &__pyx_tp_as_number_Norwegian, /*tp_as_number*/
398 &__pyx_tp_as_sequence_Norwegian, /*tp_as_sequence*/
399 &__pyx_tp_as_mapping_Norwegian, /*tp_as_mapping*/
400 0, /*tp_hash*/
401 0, /*tp_call*/
402 0, /*tp_str*/
403 0, /*tp_getattro*/
404 0, /*tp_setattro*/
405 &__pyx_tp_as_buffer_Norwegian, /*tp_as_buffer*/
406 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
407 0, /*tp_doc*/
408 __pyx_tp_traverse_10extinherit_Norwegian, /*tp_traverse*/
409 __pyx_tp_clear_10extinherit_Norwegian, /*tp_clear*/
410 0, /*tp_richcompare*/
411 0, /*tp_weaklistoffset*/
412 0, /*tp_iter*/
413 0, /*tp_iternext*/
414 __pyx_methods_10extinherit_Norwegian, /*tp_methods*/
415 0, /*tp_members*/
416 0, /*tp_getset*/
417 0, /*tp_base*/
418 0, /*tp_dict*/
419 0, /*tp_descr_get*/
420 0, /*tp_descr_set*/
421 0, /*tp_dictoffset*/
422 0, /*tp_init*/
423 0, /*tp_alloc*/
424 __pyx_tp_new_10extinherit_Norwegian, /*tp_new*/
425 0, /*tp_free*/
426 0, /*tp_is_gc*/
427 0, /*tp_bases*/
428 0, /*tp_mro*/
429 0, /*tp_cache*/
430 0, /*tp_subclasses*/
431 0, /*tp_weaklist*/
432 };
434 static struct PyMethodDef __pyx_methods[] = {
435 {0, 0, 0, 0}
436 };
438 static void __pyx_init_filenames(void); /*proto*/
440 PyMODINIT_FUNC initextinherit(void); /*proto*/
441 PyMODINIT_FUNC initextinherit(void) {
442 __pyx_init_filenames();
443 __pyx_m = Py_InitModule4("extinherit", __pyx_methods, 0, 0, PYTHON_API_VERSION);
444 if (!__pyx_m) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; goto __pyx_L1;};
445 Py_INCREF(__pyx_m);
446 __pyx_b = PyImport_AddModule("__builtin__");
447 if (!__pyx_b) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; goto __pyx_L1;};
448 if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; goto __pyx_L1;};
449 if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; goto __pyx_L1;};
450 __pyx_type_10extinherit_Parrot.tp_free = _PyObject_GC_Del;
451 if (PyType_Ready(&__pyx_type_10extinherit_Parrot) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; goto __pyx_L1;}
452 if (PyObject_SetAttrString(__pyx_m, "Parrot", (PyObject *)&__pyx_type_10extinherit_Parrot) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; goto __pyx_L1;}
453 __pyx_ptype_10extinherit_Parrot = &__pyx_type_10extinherit_Parrot;
454 __pyx_type_10extinherit_Norwegian.tp_base = __pyx_ptype_10extinherit_Parrot;
455 __pyx_type_10extinherit_Norwegian.tp_free = _PyObject_GC_Del;
456 if (PyType_Ready(&__pyx_type_10extinherit_Norwegian) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 5; goto __pyx_L1;}
457 if (PyObject_SetAttrString(__pyx_m, "Norwegian", (PyObject *)&__pyx_type_10extinherit_Norwegian) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 5; goto __pyx_L1;}
458 __pyx_ptype_10extinherit_Norwegian = &__pyx_type_10extinherit_Norwegian;
460 /* "/Local/Projects/D/Pyrex/Source/Tests/8/extinherit.pyx":8 */
461 return;
462 __pyx_L1:;
463 __Pyx_AddTraceback("extinherit");
464 }
466 static char *__pyx_filenames[] = {
467 "extinherit.pyx",
468 };
470 /* Runtime support code */
472 static void __pyx_init_filenames(void) {
473 __pyx_f = __pyx_filenames;
474 }
476 static int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) {
477 if (!type) {
478 PyErr_Format(PyExc_SystemError, "Missing type object");
479 return 0;
480 }
481 if (obj == Py_None || PyObject_TypeCheck(obj, type))
482 return 1;
483 PyErr_Format(PyExc_TypeError, "Cannot convert %s to %s",
484 obj->ob_type->tp_name, type->tp_name);
485 return 0;
486 }
488 static void __Pyx_WriteUnraisable(char *name) {
489 PyObject *old_exc, *old_val, *old_tb;
490 PyObject *ctx;
491 PyErr_Fetch(&old_exc, &old_val, &old_tb);
492 ctx = PyString_FromString(name);
493 PyErr_Restore(old_exc, old_val, old_tb);
494 if (!ctx)
495 ctx = Py_None;
496 PyErr_WriteUnraisable(ctx);
497 }
499 #include "compile.h"
500 #include "frameobject.h"
501 #include "traceback.h"
503 static void __Pyx_AddTraceback(char *funcname) {
504 PyObject *py_srcfile = 0;
505 PyObject *py_funcname = 0;
506 PyObject *py_globals = 0;
507 PyObject *empty_tuple = 0;
508 PyObject *empty_string = 0;
509 PyCodeObject *py_code = 0;
510 PyFrameObject *py_frame = 0;
512 py_srcfile = PyString_FromString(__pyx_filename);
513 if (!py_srcfile) goto bad;
514 py_funcname = PyString_FromString(funcname);
515 if (!py_funcname) goto bad;
516 py_globals = PyModule_GetDict(__pyx_m);
517 if (!py_globals) goto bad;
518 empty_tuple = PyTuple_New(0);
519 if (!empty_tuple) goto bad;
520 empty_string = PyString_FromString("");
521 if (!empty_string) goto bad;
522 py_code = PyCode_New(
523 0, /*int argcount,*/
524 0, /*int nlocals,*/
525 0, /*int stacksize,*/
526 0, /*int flags,*/
527 empty_string, /*PyObject *code,*/
528 empty_tuple, /*PyObject *consts,*/
529 empty_tuple, /*PyObject *names,*/
530 empty_tuple, /*PyObject *varnames,*/
531 empty_tuple, /*PyObject *freevars,*/
532 empty_tuple, /*PyObject *cellvars,*/
533 py_srcfile, /*PyObject *filename,*/
534 py_funcname, /*PyObject *name,*/
535 __pyx_lineno, /*int firstlineno,*/
536 empty_string /*PyObject *lnotab*/
537 );
538 if (!py_code) goto bad;
539 py_frame = PyFrame_New(
540 PyThreadState_Get(), /*PyThreadState *tstate,*/
541 py_code, /*PyCodeObject *code,*/
542 py_globals, /*PyObject *globals,*/
543 0 /*PyObject *locals*/
544 );
545 if (!py_frame) goto bad;
546 py_frame->f_lineno = __pyx_lineno;
547 PyTraceBack_Here(py_frame);
548 bad:
549 Py_XDECREF(py_srcfile);
550 Py_XDECREF(py_funcname);
551 Py_XDECREF(empty_tuple);
552 Py_XDECREF(empty_string);
553 Py_XDECREF(py_code);
554 Py_XDECREF(py_frame);
555 }
