On Sun, Feb 10, 2008 at 11:31:01AM -0800, Mark Mitchell wrote:
Richard Henderson wrote:
On Wed, Feb 06, 2008 at 09:24:14PM +0100, Richard Guenther wrote:
We reject __builtin_field, but not __builtin_struct? What happens
if you re-declare the __builtin_va_list type?
Err, probably bad things. I'll see about fixing that too.
I think it's a good idea to completely forbid declarations of __builtin
things and I think the C++ parts of the patch are fine. However, I do
expect we'll see some fallout from people who have header files that do
declare __builtins. Perhaps for 4.3 we should make this an
unconditional warning, and indicate that in 4.4 it will go away completely?
glibc internal headers declare some __builtin_* functions in order to
add some __asm ("name") to them to override what symbol is used for them
if not optimized out. I think we should only error out if declaring
__builtin_* types or if explicit __builtin_* function declaration has
non-matching types.