Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 19 Jan 2010 17:35:28 +0100
From:      Ed Schouten <ed@80386.nl>
To:        Scott Long <scottl@samsco.org>
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
Message-ID:  <20100119163528.GV64905@hoeg.nl>
In-Reply-To: <02BD244A-E287-46E0-B6A4-B6643CA7BA2E@samsco.org>
References:  <201001191531.o0JFVI6n029716@svn.freebsd.org> <9FF943CE-9FCB-48C8-A048-23F23620F4E5@samsco.org> <20100119155920.GU64905@hoeg.nl> <02BD244A-E287-46E0-B6A4-B6643CA7BA2E@samsco.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--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 <scottl@samsco.org> 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 <ed@80386.nl>
 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--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100119163528.GV64905>