From d18213c6997a058a68bc2547dcb43cf77bc4504f Mon Sep 17 00:00:00 2001 From: Collin Funk Date: Fri, 4 Apr 2025 20:48:25 -0700 Subject: 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 --- conform/data/time.h-data | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'conform/data/time.h-data') diff --git a/conform/data/time.h-data b/conform/data/time.h-data index 9c1c19596e..3b2846cd07 100644 --- a/conform/data/time.h-data +++ b/conform/data/time.h-data @@ -1,7 +1,7 @@ macro-constant NULL == 0 macro CLOCKS_PER_SEC {clock_t} -#ifdef ISO11 +#if defined ISO11 || defined ISO23 macro-int-constant TIME_UTC > 0 #endif @@ -38,11 +38,11 @@ function {char*} ctime (const time_t*) function {struct tm*} gmtime (const time_t*) function {struct tm*} localtime (const time_t*) function size_t strftime (char*, size_t, const char*, const struct tm*) -#if defined ISO11 +#if defined ISO11 || defined ISO23 function int timespec_get (struct timespec *, int) #endif -#if !defined ISO && !defined ISO99 && !defined ISO11 +#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined ISO23 # if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008 symbol CLK_TCK # endif -- cgit v1.2.3