[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 |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Larry Jones <lawrence.jones@ugs.com> 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
used.
Thanks,
-- 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.
|
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (FreeBSD)
iD8DBQFEQBQZCg7APGsDnFERAmuOAJ9m57vWmEQs8EDGhIyx8hZttyismwCeKNqu
EGCU355WwqzUhUkf0BMld78=
=W6ol
-----END PGP SIGNATURE-----