[cfe-commits] [PATCH] 7571: stddef.h and wint_t
Chris Lattner
clattner at apple.com
Fri Jul 9 14:12:09 PDT 2010
On Jul 9, 2010, at 1:10 AM, Jay Foad wrote:
> http://llvm.org/bugs/show_bug.cgi?id=7571
>
> On Ubuntu I get:
>
> $ cat c.c
> #include <stddef.h>
> #include <wctype.h>
> $ clang -c c.c
> In file included from c.c:2:
> /usr/include/wctype.h:112:22: error: unknown type name 'wint_t'
> extern int iswalnum (wint_t __wc) __THROW;
> ^
> ...
>
> The problem is that Clang's stddef.h only defines win_t if
> __need_wint_t is defined the *first* time stddef.h is included.
> Glibc's wctype.h does this:
>
> /* Get wint_t from <stddef.h>. */
> # define __need_wint_t
> # include <stddef.h>
>
> but that doesn't work if stddef.h has been included previously.
Hi Jay,
The fix will remove the header guard for the file, which defeats an important preprocessor optimization to avoid reincludes. Is there another approach that would preserve the canonical header guard?
-Chris
More information about the cfe-commits
mailing list