Date: Sun, 30 Nov 2003 00:40:41 +1100 (EST) From: Bruce Evans <bde@zeta.org.au> To: Marcel Moolenaar <marcel@xcllnt.net> Cc: standards@freebsd.org Subject: Re: 64-bit NULL: a followup Message-ID: <20031130003519.M1415@gamplex.bde.org> In-Reply-To: <20031129055619.GA48381@dhcp01.pn.xcllnt.net> References: <20031129005823.GA20090@dhcp01.pn.xcllnt.net> <20031129055619.GA48381@dhcp01.pn.xcllnt.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 28 Nov 2003, Marcel Moolenaar wrote: > On Sat, Nov 29, 2003 at 04:39:14PM +1100, Bruce Evans wrote: > > > Since Erik thinks 0 and 0L are both perfectly good definitions for > > > NULL and Tony emphasizes that NULL is an integer expression, I think > > ^^ may be > > > we should change the definition of NULL to 0L to improve portability > > > to FreeBSD/LP64. It will definitely fix known breakages on ia64. > > > > This would be bogus. Long doesn't have the same width as `void *' on all > > machines. > > The bogusness doesn't increase if we're looking at widths. It actually > reduces. The FreeBSD runtime is either ILP32 or LP64. Hence, defining > NULL as long is better than defining it as int. For those running > IP32L64, NULL can trivially be redefined as int. It could be MD in all cases to hide bugs in a MD way. > > ((void *)0) is better, but I wouldn't change it, except > > locally to trap errors. > > Ok, so what is better (void*)0 or 0L? I thought the former, but forgot about C++. There could be ugly ifdefs for this. Bruce
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20031130003519.M1415>