Re: Style Question

From: Kyle Moffett
Date: Sun Mar 11 2007 - 21:44:25 EST


On Mar 11, 2007, at 21:32:00, Jan Engelhardt wrote:
On Mar 11 2007 21:27, Kyle Moffett wrote:
On Mar 11, 2007, at 19:16:59, Jan Engelhardt wrote:
On Mar 11 2007 18:01, Kyle Moffett wrote:
On the other hand when __cplusplus is defined they define it to the
"__null" builtin, which GCC uses to give type conversion errors for
"int foo = NULL" but not "char *foo = NULL".

I think that the primary reason they use __null is so that you can
actually do[...]

Isn't that what I said? :-D

Ya. Though I was picking at

"__null" builtin, which GCC uses to give type conversion errors for "int foo = NULL"

since C's (void *)0 would also barf when being assigned to int. So it's not a genuine __null feature ;-)

You chopped my sentence in half! :-D What I *really* said was:
...give type conversion errors for 'int foo = NULL' but not 'char *foo = NULL'.

The pseudo-standard "#define NULL (0)" that the C++ standards ask for does *NOT* give an error for "int foo = NULL;", and in C++ the C- standard "#define NULL ((void *)0)" *does* give an error for "char *foo = NULL;" Ergo I think I was correct when I said "GCC uses [__null] to give type conversion errors for <the-first> but not <the- second>"

Cheers,
Kyle Moffett
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/