Attributes of functions
Alan DeKok
aland at ox.org
Sun Sep 18 03:35:14 CEST 2005
Nicolas Baradakis <nbk at sitadelle.com> wrote:
> Among other things, Primoz Bratanic has send to me a patch that adds
> attributes to some of the functions. I think it is a good idea, I can
> see only avantages to it:
> - it makes the code more explicit for the reader.
> - it helps the compiler to produce a more performant binary.
> - it makes audit easier.
Sure.
> Or perhaps this one a little friendlier:
>
> --- 8< --- 8< --- 8< --- 8< --- 8< --- 8< --- 8< --- 8< --- 8< ---
> #ifdef __GNUC__
> # define NORETURN __attribute__(noreturn)
> #else
> # define NORETURN /*NOTHING*/
> #endif
>
> static void NORETURN usage(void)
Putting #ifdef's in header files is OK. I'm a little more wary
about putting them in the source.
I'd prefer something like:
---
#ifdef __GNUC__
# define VOID void __attribute__(noreturn)
#else
# define VOID void
#endif
static VOID usage(void)
---
That gets the same effect, and is less awkward to read.
Alan DeKok.
More information about the Freeradius-Devel
mailing list