__WCHAR_TYPE__ and friends (was Re: OpenBSD tester wanted (fixincludes patch))

Nathanael Nerode neroden@twcny.rr.com
Sat Jul 12 18:10:00 GMT 2003


Bruce Korb wrote:
>>Partly because I'm not sure exactly what the gnu_types fix *does*. :-)
>>Bruce, any help?
> 
> 
> glibc pulls specific types out of particular header files.
   ^^^^^
So is this fix at all relevant to the BSDs?  Or do you mean GCC?

> To accomplish this once and only once during a compile,
> a bunch of #include wizardry is used to protect specific
> definitions.  e.g. replace:
> 
> 
>>typedef int wchar_t;
> 
> 
> with:
> 
> 
>>#if !defined(_GCC_WCHAR_T) && ! defined(__cplusplus)
>>#define _GCC_WCHAR_T
>>typedef __WCHAR_TYPE__ wchar_t;
>>#endif

Does this *work*?  Where is __WCHAR_TYPE__ defined, and how do we 
guarantee that it's defined when this is hit in the include file?  Is it 
predefined by the compiler?  How does the compiler get it 'right'?  How 
do we test that it's gotten it right on OpenBSD?

OK, so I guess I'm still a bit confused. :-)




More information about the Gcc mailing list