Re: svn commit: r322875 - head/sys/dev/nvme

From: Warner Losh <imp_at_bsdimp.com>
Date: Fri, 25 Aug 2017 09:12:40 -0600
On Fri, Aug 25, 2017 at 6:53 AM, Ed Schouten <ed_at_nuxi.nl> wrote:

> 2017-08-25 9:46 GMT+02:00 Mark Millard <markmi_at_dsl-only.net>:
> > It appears that at least 11.1-STABLE -r322807 does not handle
> > -std=c++98 styles of use of _Static_assert for g++7 in that
> > g++7 reports an error:
>
> Maybe we need to do something like this?
>
> Index: sys/sys/cdefs.h
> ===================================================================
> --- sys/sys/cdefs.h (revision 322887)
> +++ sys/sys/cdefs.h (working copy)
> _at__at_ -294,7 +294,7 _at__at_
>  #if (defined(__cplusplus) && __cplusplus >= 201103L) || \
>      __has_extension(cxx_static_assert)
>  #define _Static_assert(x, y) static_assert(x, y)
> -#elif __GNUC_PREREQ__(4,6)
> +#elif __GNUC_PREREQ__(4,6) && !defined(__cplusplus)
>  /* Nothing, gcc 4.6 and higher has _Static_assert built-in */
>  #elif defined(__COUNTER__)
>  #define _Static_assert(x, y) __Static_assert(x, __COUNTER__)



This looks good to my eye, but my level of C++ pedantic knowledge is
suboptimal.

Warner
Received on Fri Aug 25 2017 - 13:12:42 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:13 UTC