lkml.org 
[lkml]   [1998]   [Jan]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subjectinclude/linux/posix_types.h

Hi,

Is there a 'good' reason why include/linux/posix_types.h in 2.0.33
and 2.1.78 defines NULL in the way it does?

#ifndef NULL
# define NULL ((void *) 0)
#endif

and not the way that libio.h in libc5.4.42 does

#ifndef NULL
# if defined __GNUG__ && \
(__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 8))
# define NULL (__null)
# else
# if !defined(__cplusplus)
# define NULL ((void*)0)
# else
# define NULL (0)
# endif
# endif
#endif

This causes some problems with the latest egcs compilers and using
c++, since the (void*)0 form is now not standard C++. Depending on the
order you include things, you may get the posix_types definition or
the libio one.

(you get warnings in the iostream.h headers, etc).

Andrew.
--
Andrew Pollard, Auto Simulations Ltd. UK. | home: andrew@odie.demon.co.uk
2 Milbanke Court, Milbanke Way, Bracknell | work: andrewp@autosim.com
Tel:+44(0)1344 426486x103 Fax:+44(0)1344 426615 | http://www.odie.demon.co.uk



\
 
 \ /
  Last update: 2005-03-22 13:41    [W:0.047 / U:1.844 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site