Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Apr 2013 16:50:06 +0200
From:      Ed Schouten <ed@80386.nl>
To:        Bruce Evans <brde@optusnet.com.au>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Eitan Adler <eadler@freebsd.org>
Subject:   Re: svn commit: r250037 - head/bin/hostname
Message-ID:  <CAJOYFBDm=L-Q8SpdZ7bU3SceA1zbfnuvrU7u_oGN3Es7zUSbKA@mail.gmail.com>
In-Reply-To: <20130429212227.R1043@besplex.bde.org>
References:  <201304282252.r3SMqiHH009205@svn.freebsd.org> <20130429212227.R1043@besplex.bde.org>

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

2013/4/29 Bruce Evans <brde@optusnet.com.au>:
> - usr.bin/rlogin/rlogin.c has it in a gratuitously different form, as
>   'static _Noreturn void        usage(void);'.  This is bogus since
>   _Noreturn is a wrapper for a new C++ feature

I hate to correct you here, but _Noreturn is not a wrapper for a new
C++ feature, it's a keyword that's part of C11. See:

http://en.wikipedia.org/wiki/C11_(C_standard_revision)#Changes_from_C99

All C11 keywords can be implemented on top of GCC-specific constructs,
with the exception of _Generic. I would strongly prefer it if we used
these keywords over our FreeBSD-specific solutions.

If the only objection is the spelling of these keywords (underscores,
uppercase, etc), be sure to:

#include <stdalign.h> /* For alignas/alignof. */
#include <stdnoreturn.h> /* For noreturn. */
#include <threads.h> /* For thread_local. */

--
Ed Schouten <ed@80386.nl>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJOYFBDm=L-Q8SpdZ7bU3SceA1zbfnuvrU7u_oGN3Es7zUSbKA>