[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: <stdint.h> on IRIX (was Re: [Cvs-test-results] CVS trunk testing

From: Mark D. Baushke
Subject: Re: <stdint.h> on IRIX (was Re: [Cvs-test-results] CVS trunk testing
Date: Fri, 14 Apr 2006 14:28:58 -0700

Hash: SHA1

Larry Jones <address@hidden> writes:

> Derek R. Price writes:
> > 
> > Does the attached patch do what you wanted?
> I'm thinking it would be better to declare the file unusable and use a
> replacement rather than forcing C99 mode -- language level should be up
> to the user.  I think the right thing to do is enhance the generic
> compile/preprocess tests to grep the output for "#error" and fail if
> it's found (since it *is* an error, whether the compiler/preprocessor
> considers it fatal or not).

I agree with Larry on this one.

The IRIX #error is not actually generating an error and that is the
'bug' that configure needs to find and initiate use of a replacement
function. If the user asks to add the -c99 (or for gcc,
- -std=iso9899:1999), then that is the style of compiler that should be

        -- Mark

PS: Note that other compilers also have switches for C99 conformance.
The gcc 3.4.x release has -std=<standard>. The 'C Dialect Options' has
this to say:

| `-std='
|      Determine the language standard.  This option is currently only
|      supported when compiling C or C++.  A value for this option must be
|      provided; possible values are
|     `c89'
|     `iso9899:1990'
|           ISO C90 (same as `-ansi').
|     `iso9899:199409'
|           ISO C90 as modified in amendment 1.
|     `c99'
|     `c9x'
|     `iso9899:1999'
|     `iso9899:199x'
|           ISO C99.  Note that this standard is not yet fully supported;
|           see `http://gcc.gnu.org/gcc-3.4/c99status.html' for more
|           information.  The names `c9x' and `iso9899:199x' are
|           deprecated.
|     `gnu89'
|           Default, ISO C90 plus GNU extensions (including some C99
|           features).
|     `gnu99'
|     `gnu9x'
|           ISO C99 plus GNU extensions.  When ISO C99 is fully
|           implemented in GCC, this will become the default.  The name
|           `gnu9x' is deprecated.
|     `c++98'
|           The 1998 ISO C++ standard plus amendments.
|     `gnu++98'
|           The same as `-std=c++98' plus GNU extensions.  This is the
|           default for C++ code.
|      Even when this option is not specified, you can still use some of
|      the features of newer standards in so far as they do not conflict
|      with previous C standards.  For example, you may use
|      `__restrict__' even when `-std=c99' is not specified.
|      The `-std' options specifying some version of ISO C have the same
|      effects as `-ansi', except that features that were not in ISO C90
|      but are in the specified version (for example, `//' comments and
|      the `inline' keyword in ISO C99) are not disabled.
|      *Note Language Standards Supported by GCC: Standards, for details
|      of these standard versions.
Version: GnuPG v1.4.3 (FreeBSD)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]