Date: Sun, 25 Feb 2018 14:52:14 +0100 From: Dimitry Andric <dim@FreeBSD.org> To: Alan Somers <asomers@freebsd.org> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r329910 - head/sys/cddl/contrib/opensolaris/uts/common/sys Message-ID: <CBCA3200-19B8-4FCF-8581-918C762D594D@FreeBSD.org> In-Reply-To: <201802241601.w1OG1LQ3043733@repo.freebsd.org> References: <201802241601.w1OG1LQ3043733@repo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--Apple-Mail=_92DF56FF-F7D7-45FA-AFB1-0CB893F50C11 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii On 24 Feb 2018, at 17:01, Alan Somers <asomers@freebsd.org> wrote: >=20 > Author: asomers > Date: Sat Feb 24 16:01:21 2018 > New Revision: 329910 > URL: https://svnweb.freebsd.org/changeset/base/329910 >=20 > Log: > Implement CTASSERT using _Static_assert >=20 > Prevents warnings about "unused typedef" with GCC-6 >=20 > Reported by: GCC-6 > MFC after: 18 days > X-MFC-With: 329722 >=20 > Modified: > head/sys/cddl/contrib/opensolaris/uts/common/sys/debug.h >=20 > Modified: head/sys/cddl/contrib/opensolaris/uts/common/sys/debug.h > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D > --- head/sys/cddl/contrib/opensolaris/uts/common/sys/debug.h Sat Feb = 24 15:13:20 2018 (r329909) > +++ head/sys/cddl/contrib/opensolaris/uts/common/sys/debug.h Sat Feb = 24 16:01:21 2018 (r329910) > @@ -133,8 +133,8 @@ _NOTE(CONSTCOND) } while (0) > #ifndef CTASSERT > #define CTASSERT(x) _CTASSERT(x, __LINE__) > #define _CTASSERT(x, y) __CTASSERT(x, y) > -#define __CTASSERT(x, y) \ > - typedef char __compile_time_assertion__ ## y [(x) ? 1 : -1] > +#define __CTASSERT(x, y) \ > + _Static_assert((x), "Static assert failed at " #y) > #endif >=20 > #ifdef _KERNEL Note that the trick with the negatively indexed array is to support older versions of gcc, which did not yet recognize _Static_assert. It looks like this was added in gcc 4.6. -Dimitry --Apple-Mail=_92DF56FF-F7D7-45FA-AFB1-0CB893F50C11 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.2 iF0EARECAB0WIQR6tGLSzjX8bUI5T82wXqMKLiCWowUCWpK/jgAKCRCwXqMKLiCW o+8tAJwPPAed5zndBo1SRqEESLTJ4vvtXQCeN/dAJzO9qx/8/e39YDV6/Hp1hp0= =emDq -----END PGP SIGNATURE----- --Apple-Mail=_92DF56FF-F7D7-45FA-AFB1-0CB893F50C11--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CBCA3200-19B8-4FCF-8581-918C762D594D>