1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-09-11 12:10:50 +03:00
Files
glibc/conform/data/locale.h-data
Collin Funk d18213c699 conform: Add initial support for C23.
Hi Joseph,

As we discussed, this patch just makes C23 include every check that is
performed by C11.

I tested the commit by adding the ISO23 Make and Python variables to be
the same as ISO11.  So the only difference was compiling with -DISO23
instead of -DISO11.  And changed the temporary directories to instead
use the format f'/tmp/glibc-{self.standard}-{self.header}'.  Then I used
a shell script to run 'cmp' on each file in the ISO11 and ISO23
directories for each header to make sure they were the same.

-- 8< --

Make C23 checks include every test that is performed by C11.  Done by
running the following command:

find conform -name '*.h-data' | xargs sed -i \
  -e 's| !defined ISO11| !defined ISO11 \&\& !defined ISO23|g' \
  -e 's| defined ISO11| defined ISO11 \|\| defined ISO23|g' \
  -e 's|ifdef ISO11|if defined ISO11 \|\| defined ISO23|g' \
  -e 's|ifndef ISO11|if !defined ISO11 \&\& !defined ISO23|g'

Signed-off-by: Collin Funk <collin.funk1@gmail.com>
2025-04-10 18:39:05 +00:00

71 lines
2.2 KiB
Plaintext

type {struct lconv}
element {struct lconv} {char*} currency_symbol
element {struct lconv} {char*} decimal_point
element {struct lconv} char frac_digits
element {struct lconv} {char*} grouping
element {struct lconv} {char*} int_curr_symbol
element {struct lconv} char int_frac_digits
element {struct lconv} {char*} mon_decimal_point
element {struct lconv} {char*} mon_thousands_sep
element {struct lconv} {char*} mon_grouping
element {struct lconv} {char*} negative_sign
element {struct lconv} char n_cs_precedes
element {struct lconv} char n_sep_by_space
element {struct lconv} char n_sign_posn
element {struct lconv} {char*} positive_sign
element {struct lconv} char p_cs_precedes
element {struct lconv} char p_sep_by_space
element {struct lconv} char p_sign_posn
element {struct lconv} {char*} thousands_sep
#if !defined ISO && !defined POSIX && !defined XPG4 && !defined XPG42 && !defined UNIX98
element {struct lconv} char int_n_cs_precedes
element {struct lconv} char int_n_sep_by_space
element {struct lconv} char int_n_sign_posn
element {struct lconv} char int_p_cs_precedes
element {struct lconv} char int_p_sep_by_space
element {struct lconv} char int_p_sign_posn
#endif
macro-constant NULL == 0
macro-int-constant LC_ALL
macro-int-constant LC_COLLATE
macro-int-constant LC_CTYPE
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
macro-int-constant LC_MESSAGES
#endif
macro-int-constant LC_MONETARY
macro-int-constant LC_NUMERIC
macro-int-constant LC_TIME
#if defined XOPEN2K8 || defined POSIX2008
constant LC_GLOBAL_LOCALE
macro LC_COLLATE_MASK
macro LC_CTYPE_MASK
macro LC_MESSAGES_MASK
macro LC_MONETARY_MASK
macro LC_NUMERIC_MASK
macro LC_TIME_MASK
macro LC_ALL_MASK
type locale_t
#endif
function {struct lconv*} localeconv (void)
function {char*} setlocale (int, const char*)
#if defined XOPEN2K8 || defined POSIX2008
function locale_t duplocale (locale_t)
function void freelocale (locale_t)
function locale_t newlocale (int, const char*, locale_t)
function locale_t uselocale (locale_t)
#endif
allow LC_[ABCDEFGHIJKLMNOPQRSTUVWXYZ]*
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23
allow *_t
#endif
#if defined XOPEN2K8 || defined POSIX2008
allow LC_*_MASK
#endif