Package: mingw32 Version: 4.2.1.dfsg-1 Severity: normal
Mingw32 libc does not like using errno as a function argument name, when stdlib.h is included. Example: #include <stdlib.h> int foo(int errno) { ... } .... foo(42); after i586-mingw32-msvc-gcc test.c -o test / !!! complaining about integer-to-pointer cast !!! / ../test It dies with segmentation fault. After manually running i586-mingw32-msvc-cpp, I got the following: .... int foo(int (*_errno())) { ... } Of course this program dies with a segfault, because it gets a function pointer instead of an int! Actually the problem is in stdlib.h: errno is a macro, as bug #162576 (of libc6-dev) says. In libc6-dev, the problem is solved, the libc6 version of stdlib.h does not include errno.h, so this error is avoided. But mingw32 declares it's own errno to have MS compatibility in stdlib.h (actually, BOTH stdlib.h and errno.h declares errno) My question is: does errno must be declared as a macro, and if it must, is there a possible solution to avoid this kind of error, without modifying my source? -- System Information: Debian Release: lenny APT prefers testing APT policy: (500, 'testing') Architecture: i386 (i686) Kernel: Linux 2.6.25wgj (SMP w/1 CPU core) Locale: LANG=hu_HU.UTF-8, LC_CTYPE=hu_HU.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages mingw32 depends on: ii libc6 2.7-13 GNU C Library: Shared libraries ii mingw32-binutils 2.18.50-20080109-1 Minimalist GNU win32 (cross) binut ii mingw32-runtime 3.13-1 Minimalist GNU win32 (cross) runti mingw32 recommends no packages. Versions of packages mingw32 suggests: pn cpp-doc <none> (no description available) pn gcc-doc <none> (no description available) -- no debconf information -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]