1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-08-05 19:35:52 +03:00
Files
glibc/conform/data/mqueue.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

48 lines
1.7 KiB
Plaintext

#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 && !defined XPG4 && !defined XPG42
// should test for not an array type.
type mqd_t
type {struct sigevent}
element {struct sigevent} int sigev_notify
element {struct sigevent} int sigev_signo
element {struct sigevent} {union sigval} sigev_value
element {struct sigevent} {void(*} sigev_notify_function )(union sigval)
element {struct sigevent} {pthread_attr_t*} sigev_notify_attributes
type {struct mq_attr}
// Bug 21279: mq_attr elements have wrong type.
xfail[x86_64-x32-linux]-element {struct mq_attr} long mq_flags
xfail[x86_64-x32-linux]-element {struct mq_attr} long mq_maxmsg
xfail[x86_64-x32-linux]-element {struct mq_attr} long mq_msgsize
xfail[x86_64-x32-linux]-element {struct mq_attr} long mq_curmsgs
function int mq_close (mqd_t)
function int mq_getattr (mqd_t, struct mq_attr*)
function int mq_notify (mqd_t, const struct sigevent*)
function mqd_t mq_open (const char*, int, ...)
function ssize_t mq_receive (mqd_t, char*, size_t, unsigned int*)
function int mq_send (mqd_t, const char*, size_t, unsigned int)
function int mq_setattr (mqd_t, const struct mq_attr*, struct mq_attr*)
function int mq_unlink (const char*)
#if defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
optional-function ssize_t mq_timedreceive (mqd_t, char*, size_t, unsigned int*, const struct timespec*)
optional-function int mq_timedsend (mqd_t, const char*, size_t, unsigned int, const struct timespec*)
#endif
#if defined XOPEN2K8 || defined POSIX2008
type pthread_attr_t
type size_t
type ssize_t
type {struct timespec}
#endif
allow-header fcntl.h
allow-header signal.h
allow-header sys/types.h
allow-header time.h
allow mq_*
allow MQ_*
allow *_t
#endif