Messages in this thread | | | From | Kyle Moffett <> | Subject | Re: Style Question | Date | Sun, 11 Mar 2007 21:43:25 -0400 |
| |
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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |