1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-08-07 06:43:00 +03:00
Files
glibc/conform/data/aio.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

44 lines
1.3 KiB
Plaintext

#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined XPG4 && !defined XPG42
type {struct aiocb}
// Test elements of the AIO control struct.
element {struct aiocb} int aio_fildes
element {struct aiocb} off_t aio_offset
element {struct aiocb} {volatile void*} aio_buf
element {struct aiocb} size_t aio_nbytes
element {struct aiocb} int aio_reqprio
element {struct aiocb} {struct sigevent} aio_sigevent
element {struct aiocb} int aio_lio_opcode
constant AIO_CANCELED
constant AIO_NOTCANCELED
constant AIO_ALLDONE
constant LIO_WAIT
constant LIO_NOWAIT
constant LIO_READ
constant LIO_WRITE
constant LIO_NOP
function int aio_cancel (int, struct aiocb*)
function int aio_error (const struct aiocb*)
function int aio_fsync (int, struct aiocb*)
function int aio_read (struct aiocb*)
function ssize_t aio_return (struct aiocb*)
function int aio_suspend (const struct aiocb* const[], int, const struct timespec*)
function int aio_write (struct aiocb*)
function int lio_listio (int, struct aiocb *const[], int, struct sigevent*)
// POSIX in theory doesn't allow the header to be self contained but
// this was fixed later and we do not test for this here.
allow-header fcntl.h
allow-header signal.h
allow-header sys/types.h
allow-header time.h
allow aio_*
allow lio_*
allow AIO_*
allow LIO_*
allow *_t
#endif