On Mon, 9 Sep 2002, Christopher Vance wrote:

> On Mon, Sep 09, 2002 at 01:10:46AM -0700, David O'Brien wrote:
> : > Rather than trying to deduce whether `long long' is supported from
> : > other macros, I simply modified the compiler driver to tell us.
>
> What's wrong with
>
> #include <limits.h>
> #ifdef LLONG_MAX
>
> Surely we get to determine the contents of our own limits.h files?

1) Namespace pollution.  Standard headers other than <limits.h> are not
   permitted to define LLONG_MAX.
2) A non-broken <limits.h> would need much the same ifdefs as
   <sys/cdefs.h> for determining whether the compiler and/or standard
   supports long long.  <limits.h> is not permitted to define LLONG_MA
   if the standard is C90 but currently defines it unconditionally.
   The syntax error in the definition of LLONG_MAX doesn't cause many
   problems for C90 compilers because the macro is not normally used
   in C90 environment.  A test like:

#include <limits.h>
#if LLONG_MAX > 0

   would have syntax errors.

Bruce


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to