Tim Ruehsen <[email protected]> writes:

> Some things I fixed, when having a look at the sources.

Thanks.

I'm going to a reply to one or a few issues at a time. Feel free to
remind me if some things are still left unaddressed in a few weeks.

> #define NONNULL(...) __attribute__ ((nonnull(__VA_ARGS__)))
> is contains a C99 feature (...), but there are also C99 long long constants 
> somewhere in the code (if you mind C89 compliancy).

I intend to stick to C89, except that I'll happily use features which
have been widely available for a long time even though not standardized.
Maybe the use of long long constants (where?) are of that type?

So I don't want to use __VA_ARGS__. In this particular case, shouldn't
it work fine with

  #define NONNULL(args) __attribute__ ((nonnull args))

to be used as, e.g., NONNULL((1)) ?

About __attribute__ nonnull, I have some questions.

1. Does it give any significant benefit, in terms of significant
   optimizations (I don't think I understand what optimizations it
   should make possible) or real bugs catched?

2. Since when (release and year) is it supported by gcc?

3. To really make use of it, we should add it to a lot of prototypes in
   the installed headers. That makes things a bit more complicated,
   since those headers can't use config.h.

Regards,
/Niels

-- 
Niels Möller. PGP-encrypted email is preferred. Keyid C0B98E26.
Internet email is subject to wholesale government surveillance.
_______________________________________________
nettle-bugs mailing list
[email protected]
http://lists.lysator.liu.se/mailman/listinfo/nettle-bugs

Reply via email to