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

58 lines
1.4 KiB
Plaintext

#if defined ISO11 || defined ISO23
macro ONCE_FLAG_INIT
macro thread_local
macro-int-constant TSS_DTOR_ITERATIONS
constant thrd_success
constant thrd_busy
constant thrd_error
constant thrd_nomem
constant thrd_timedout
constant mtx_plain
constant mtx_recursive
constant mtx_timed
type thrd_t
type thrd_start_t
type mtx_t
type once_flag
type cnd_t
type tss_t
type tss_dtor_t
function int thrd_create (thrd_t*, thrd_start_t, void*)
function int thrd_equal (thrd_t, thrd_t)
function thrd_t thrd_current (void)
function int thrd_sleep (const struct timespec*, struct timespec*)
function void thrd_exit (int)
function int thrd_detach (thrd_t)
function int thrd_join (thrd_t, int*)
function void thrd_yield (void)
function int mtx_init (mtx_t*, int)
function int mtx_lock (mtx_t*)
function int mtx_timedlock (mtx_t*, const struct timespec*)
function int mtx_trylock (mtx_t*)
function int mtx_unlock (mtx_t*)
function void mtx_destroy (mtx_t*)
function void call_once (once_flag*, void (*)(void))
function int cnd_init (cnd_t*)
function int cnd_signal (cnd_t*)
function int cnd_broadcast (cnd_t*)
function int cnd_wait (cnd_t*, mtx_t*)
function int cnd_timedwait (cnd_t*, mtx_t*, const struct timespec*)
function void cnd_destroy (cnd_t*)
function int tss_create (tss_t*, tss_dtor_t)
function {void*} tss_get (tss_t)
function int tss_set (tss_t, void*)
function void tss_delete (tss_t)
#include "time.h-data"
#endif