Hi, I'm getting test build failures with the new arrayarray.h header file when I enable "--std=c89" or "c99" in the CFLAGS:
""" memoryview_inplace_division.c:877: warning: declaration does not declare anything memoryview_inplace_division.c:893: warning: declaration does not declare anything memoryview_inplace_division.c: In function ‘newarrayobject’: memoryview_inplace_division.c:929: error: ‘arrayobject’ has no member named ‘ob_item’ ... """ The lines it warns about (and which trigger the subsequent errors) are the following union declarations: """ typedef struct arrayobject { PyObject_HEAD union { Py_ssize_t ob_size, length; }; union { char *ob_item; float *_f; double *_d; int *_i; unsigned *_I; unsigned char *_B; signed char *_b; char *_c; unsigned long *_L; long *_l; short *_h; unsigned short *_H; Py_UNICODE *_u; void *_v; }; ... """ Apparently, anonymous unions only became part of the C standard in C11: http://stackoverflow.com/questions/3228104/anonymous-union-within-struct-not-in-c99 That's unfortunate, but I think we'd best give the unions a name (and let users change all code that uses them ...). BTW, is there any reason we have a "length" field at all? Shouldn't we be using Py_SIZE() ? Stefan _______________________________________________ cython-devel mailing list cython-devel@python.org http://mail.python.org/mailman/listinfo/cython-devel