1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-08-08 17:42:12 +03:00
Files
glibc/conform/data/utmpx.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

42 lines
1.1 KiB
Plaintext

#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined POSIX && !defined POSIX2008 && !defined XPG4
type {struct utmpx}
element {struct utmpx} char ut_user []
element {struct utmpx} char ut_id []
element {struct utmpx} char ut_line []
element {struct utmpx} pid_t ut_pid
element {struct utmpx} {short int} ut_type
// Layout chosen to be compatible on 32-bit and 64-bit bi-arch
// systems, which is incompatible with the standard type (see bug
// 18235).
xfail-element {struct utmpx} {struct timeval} ut_tv
type pid_t
type {struct timeval}
element {struct timeval} time_t tv_sec
element {struct timeval} suseconds_t tv_usec
constant EMPTY
constant BOOT_TIME
constant OLD_TIME
constant NEW_TIME
constant USER_PROCESS
constant INIT_PROCESS
constant LOGIN_PROCESS
constant DEAD_PROCESS
function void endutxent (void)
function {struct utmpx*} getutxent (void)
function {struct utmpx*} getutxid (const struct utmpx*)
function {struct utmpx*} getutxline (const struct utmpx*)
function {struct utmpx*} pututxline (const struct utmpx*)
function void setutxent (void)
allow-header sys/time.h
allow ut_*
allow *_t
#endif