From: Olivier Galibert Date: Mon, 13 Mar 2006 16:37:07 GMT Subject: Re: [PATCH] Trivial warning fix for imap-send.c Message-ID: <20060313163707.GB87487@dspnet.fr.eu.org> In-Reply-To: <44151330.7020905@zytor.com> On Sun, Mar 12, 2006 at 10:37:36PM -0800, H. Peter Anvin wrote: > On "real" machines, the biggest reason you'd care is that a lot of > compilers, *especially* in C++ mode, really still define NULL as "0"; > ostensibly because defining it as "((void *)0)" breaks some obscure C++ > casting rule. Not obscure, just a religious issue. Somehow in the creation of the C++ standard the definition of void * got changed from "generic pointer" to something else I've been unable to fathom. That definition, whatever it is, justifies forbidding implicit casts from void * to anything else. Some of the priests of the new definition consider the existence in C of a usable generic pointer type to be a failing of the language too. OG.