This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [RFC][PATCH v3] Initial support for C11 Annex K Bounds checking functions
- From: Ulrich Bayer <ubayer at sba-research dot org>
- To: Paul Eggert <eggert at cs dot ucla dot edu>
- Cc: <libc-alpha at sourceware dot org>, "Joseph S. Myers" <joseph at codesourcery dot com>
- Date: Fri, 14 Jun 2013 19:03:05 +0200
- Subject: Re: [RFC][PATCH v3] Initial support for C11 Annex K Bounds checking functions
- References: <51B1B444 dot 8080608 at sba-research dot org> <51B43794 dot 1020300 at cs dot ucla dot edu> <51BAF465 dot 4010203 at sba-research dot org> <51BB406C dot 10903 at cs dot ucla dot edu>
On 14.06.2013 18:10, Paul Eggert wrote:
>
> /* Check that C11 Annex K declarations are consistently either included
> or excluded for all standard headers. */
> #if defined __STDC_WANT_LIB_EXT1__ && __STDC_WANT_LIB_EXT1__ == 1
> # define __GLIBC_USE_LIB_EXT1 1
> #else
> # define __GLIBC_USE_LIB_EXT1 0
> #endif
>
> (Heh. This is probably what the standard-writers had in mind, if
> they thought about the problem at all....)
>
> The rest of the .h file can use "#if __GLIBC_USE_LIB_EXT1" to decide
> whether to include _s declarations.
I'm all for simplification but that seems oversimplified to me. :)
Would that be in a central file?
Do you suggest to not print out any preprocessor error messages for
inconsistent definitions at all?
> That's OK in my book, since #defining __STDC_WANT_LIB_EXT1__
> to a value other than 0 or 1 has undefined behavior.
I see your point.