Re: Style Question

From: Kyle Moffett
Date: Sun Mar 11 2007 - 21:28:46 EST


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". A "((void *)0)" definition gives C++ type errors for both due to the broken C ++ void pointer conversion problems.

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

class foo *ptr = NULL;

because

class foo *ptr = (void *)0;

would throw an error or at least a warning (implicit cast from void*
to class foo*).

Isn't that what I said? :-D

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/