From owner-svn-src-head@FreeBSD.ORG Thu Jan 29 16:51:09 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B7558106564A; Thu, 29 Jan 2009 16:51:09 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A5B1E8FC12; Thu, 29 Jan 2009 16:51:09 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n0TGp9YY058880; Thu, 29 Jan 2009 16:51:09 GMT (envelope-from rdivacky@svn.freebsd.org) Received: (from rdivacky@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n0TGp9NU058879; Thu, 29 Jan 2009 16:51:09 GMT (envelope-from rdivacky@svn.freebsd.org) Message-Id: <200901291651.n0TGp9NU058879@svn.freebsd.org> From: Roman Divacky Date: Thu, 29 Jan 2009 16:51:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r187895 - head/sys/sys X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Jan 2009 16:51:10 -0000 Author: rdivacky Date: Thu Jan 29 16:51:09 2009 New Revision: 187895 URL: http://svn.freebsd.org/changeset/base/187895 Log: 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) Modified: head/sys/sys/_null.h Modified: head/sys/sys/_null.h ============================================================================== --- head/sys/sys/_null.h Thu Jan 29 16:47:15 2009 (r187894) +++ head/sys/sys/_null.h Thu Jan 29 16:51:09 2009 (r187895) @@ -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