http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48851
--- Comment #12 from Jonathan Gray <jsg at openbsd dot org> 2011-06-29 21:17:31 UTC --- The problem appears to be in the "fixed" version of string.h before: #ifndef NULL #ifdef __GNUG__ #define NULL __null #else #define NULL ((void *)0) #endif #endif after: #ifndef NULL #ifdef __GNUG__ #define NULL __null #else #define NULL 0 #endif #endif fixincludes seems to be busted. --- /usr/include/string.h Sat Jun 25 19:55:15 2011 +++ /home/jsg/src/obj461/./prev-gcc/include-fixed/string.h Wed Jun 29 01:33:27 2011 @@ -1,3 +1,12 @@ +/* DO NOT EDIT THIS FILE. + + It has been auto-edited by fixincludes from: + + "/usr/include/string.h" + + This had to be done to correct non-standard usages in the + original, manufacturer supplied header file. */ + /* $OpenBSD: string.h,v 1.21 2011/04/06 11:39:42 miod Exp $ */ /* $NetBSD: string.h,v 1.6 1994/10/26 00:56:30 cgd Exp $ */ @@ -47,7 +56,7 @@ typedef __size_t size_t; #ifdef __GNUG__ #define NULL __null #else -#define NULL ((void *)0) +#define NULL 0 #endif #endif bizarrely the same block in stddef.h is left alone by fixincludes