1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-31 12:13:10 +00:00

Define NULL to be __null in a case of gnu c++. This makes sentinel attribute

work ok in C++. Note that we enable this only for gcc 4.x for any value
of x. The __null was introduced in gcc 4.1 (in fact it was commited
12 days after release of gcc 4.0) and as we have never released any version
of FreeBSD with gcc 4.0 nor ports support gcc 4.0.x this is a safe check.

Using __GNUC_PREREQ__ would require us to include cdefs.h in params.h so
we just check __GNUC__.

Approved by:	kib (mentor)
Tested by:	exp build of ports (done by pav)
Tested by:	make universe (done by me)
This commit is contained in:
Roman Divacky 2009-01-29 16:51:09 +00:00
parent 49c4791ccc
commit e9b123be77
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=187895

View File

@ -31,11 +31,15 @@
#if defined(_KERNEL) || !defined(__cplusplus)
#define NULL ((void *)0)
#else
#if defined(__GNUG__) && defined(__GNUC__) && __GNUC__ >= 4
#define NULL __null
#else
#if defined(__LP64__)
#define NULL (0L)
#else
#define NULL 0
#endif /* __LP64__ */
#endif /* __GNUG__ */
#endif /* _KERNEL || !__cplusplus */
#endif