From owner-svn-src-all@FreeBSD.ORG Tue Jan 19 16:35:29 2010 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C3AA4106566B; Tue, 19 Jan 2010 16:35:29 +0000 (UTC) (envelope-from ed@hoeg.nl) Received: from palm.hoeg.nl (mx0.hoeg.nl [IPv6:2001:7b8:613:100::211]) by mx1.freebsd.org (Postfix) with ESMTP id 782668FC13; Tue, 19 Jan 2010 16:35:29 +0000 (UTC) Received: by palm.hoeg.nl (Postfix, from userid 1000) id E290C1CE5E; Tue, 19 Jan 2010 17:35:28 +0100 (CET) Date: Tue, 19 Jan 2010 17:35:28 +0100 From: Ed Schouten To: Scott Long Message-ID: <20100119163528.GV64905@hoeg.nl> References: <201001191531.o0JFVI6n029716@svn.freebsd.org> <9FF943CE-9FCB-48C8-A048-23F23620F4E5@samsco.org> <20100119155920.GU64905@hoeg.nl> <02BD244A-E287-46E0-B6A4-B6643CA7BA2E@samsco.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="OEHaWX2QSImgzVur" Content-Disposition: inline In-Reply-To: <02BD244A-E287-46E0-B6A4-B6643CA7BA2E@samsco.org> User-Agent: Mutt/1.5.20 (2009-06-14) Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: svn commit: r202628 - in head: . sys/amd64/amd64 sys/i386/i386 sys/i386/xen sys/sys X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Jan 2010 16:35:30 -0000 --OEHaWX2QSImgzVur Content-Type: multipart/mixed; boundary="iWGX19zdMYUyUiWh" Content-Disposition: inline --iWGX19zdMYUyUiWh Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable * Scott Long wrote: > Which compilers? Is this a requirement for CLANG? Or is it just a > nice-to-have clean-up? Clang's support for the gnu89 inline semantics works sometimes, while there have been many regressions over time where fixes related to the ISO C99 inlining broke the GNU semantics. I agreed with other people back in June last year that we should just commit this after releasing 8.0, since our policy has always been to support an upgrade from one major to another, not skipping one in between. If there are such strong feelings about this, we could just commit the attached patch, which brings us the best of both worlds. It uses the C99 keywords when compilers are intelligent enough to do so, but falls back to GNU-style inlining in cases where it has to do this. --=20 Ed Schouten WWW: http://80386.nl/ --iWGX19zdMYUyUiWh Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="pmap.diff" Content-Transfer-Encoding: quoted-printable Index: sys/i386/i386/pmap.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- sys/i386/i386/pmap.c (revision 202629) +++ sys/i386/i386/pmap.c (working copy) @@ -162,7 +162,11 @@ #endif =20 #if !defined(DIAGNOSTIC) +#ifdef __GNUC_GNU_INLINE__ +#define PMAP_INLINE inline +#else #define PMAP_INLINE extern inline +#endif #else #define PMAP_INLINE #endif Index: sys/i386/xen/pmap.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- sys/i386/xen/pmap.c (revision 202629) +++ sys/i386/xen/pmap.c (working copy) @@ -173,7 +173,11 @@ #endif =20 #if !defined(PMAP_DIAGNOSTIC) +#ifdef __GNUC_GNU_INLINE__ +#define PMAP_INLINE inline +#else #define PMAP_INLINE extern inline +#endif #else #define PMAP_INLINE #endif Index: sys/amd64/amd64/pmap.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- sys/amd64/amd64/pmap.c (revision 202629) +++ sys/amd64/amd64/pmap.c (working copy) @@ -153,7 +153,11 @@ #endif =20 #if !defined(DIAGNOSTIC) +#ifdef __GNUC_GNU_INLINE__ +#define PMAP_INLINE inline +#else #define PMAP_INLINE extern inline +#endif #else #define PMAP_INLINE #endif --iWGX19zdMYUyUiWh-- --OEHaWX2QSImgzVur Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (FreeBSD) iEYEARECAAYFAktV31AACgkQ52SDGA2eCwVjJgCeIzBaF2qttF+X59RdalMz7iqY jw0AoIE1/YQ7efHHfb68B7hqLUJf5LSm =2uNG -----END PGP SIGNATURE----- --OEHaWX2QSImgzVur--