C++ definition of NULL

Doug Semler doug@seaspace.com
Tue Mar 2 21:19:00 GMT 1999


----- Original Message -----
From: Chad Gatesman <chadg@redrose.net>
To: Jason Merrill <jason@cygnus.com>
Cc: <egcs@cygnus.com>
Sent: Tuesday, March 02, 1999 9:10 PM
Subject: Re: C++ definition of NULL


>Jason Merrill wrote:
>
>>  > I am currently porting a very large library that depends on the
passing
>>  > of NULL into parameters declared as long int.
>>
>>  > egcs appears to define NULL as __null which is a builtin symbol that
>>  > treats NULL as `{unknown type} *'.  Therefore, I cannot pass in NULL
to
>>  > a long int parameter without casting it.
>>
>> Why would you want to?  Conceptually, NULL is a pointer value.
>
>I see what you are saying, but unfortunately, this is not my code.  I am
>mearly porting it.  And, technically, it should work since the standard
says
>NULL should be a 0 or 0L


Correct ,me if I'm wrong, but the standard says NULL is implementation
defined, with
(footnoted) possible values being 0 or 0L but not (void *)0

You should cast, you shouldn't implicitely convert pointers to integers any
more.... :)
---
Doug Semler                       | doug@seaspace.com
SeaSpace Corporation              | Garbage In -- Gospel Out
Least Senior Software Developer;  | Minister of things to do Next Quarter
Low Man on the Totem Pole         | (but will Never Be Done) DNRC  O-
A closed mind is a terrible thing | Bus Error (passengers dumped)

-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS/M d---(pu) s++:- a-- C++ UILSH+++$ P--- L++ E--- W+
N++ o-- K? w--(++$) O- M-- V- PS+ !PE Y PGP t(+) 5+++ X+
R- tv+(-) b+(++) DI++++ D G e++>++++ h!>--- r% y+>+++++**
------END GEEK CODE BLOCK------




More information about the Gcc mailing list