From 4f2fb9ba5f529890b2a341e30a1c0c978a882e3a Mon Sep 17 00:00:00 2001 From: lemon Date: Mon, 23 Mar 2026 12:10:58 +0100 Subject: , test for libc headers --- src/a_embedfilesdir.c | 14 ++++++++++++++ src/u_io.c | 4 ---- test/19-libc-headers.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 62 insertions(+), 4 deletions(-) create mode 100644 test/19-libc-headers.c diff --git a/src/a_embedfilesdir.c b/src/a_embedfilesdir.c index 64189ef..d07bb87 100644 --- a/src/a_embedfilesdir.c +++ b/src/a_embedfilesdir.c @@ -85,6 +85,20 @@ typedef __builtin_va_list __gnuc_va_list;\n\ #define LDBL_TRUE_MIN 4.94066e-324\n\ ")}, +{"iso646.h", S("\ +#define and &&\ +#define and_eq &=\ +#define bitand &\ +#define bitor |\ +#define compl ~\ +#define not !\ +#define not_eq !=\ +#define or ||\ +#define or_eq |=\ +#define xor ^\ +#define xor_eq ^=\ +")}, + {"stdnoreturn.h", S("\ #define noreturn _Noreturn\n\ ")}, diff --git a/src/u_io.c b/src/u_io.c index f376c98..1dccb9d 100644 --- a/src/u_io.c +++ b/src/u_io.c @@ -857,10 +857,6 @@ openfile(const char **err, MemFile **pf, const char *path) size_t h, id, n = countof(fileht); if (*path == '@' && path[1] == ':') { - /* fast path to rule out filenames we know for sure aren't builtin */ - /* !KEEP SYNC with embedfilesdir */ - if (path[2] != 's' /* std*.h */ - && path[2] != 'f' /* float.h */) return -1; uid.dev = -1; uid.str = path; h = hashs(0, path+2); diff --git a/test/19-libc-headers.c b/test/19-libc-headers.c new file mode 100644 index 0000000..2c8db38 --- /dev/null +++ b/test/19-libc-headers.c @@ -0,0 +1,48 @@ +/* EXPECT: +*/ + +/* C89 */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +/* C99 */ +#include +#include +#include +#include +#include +#include + +/* C11 */ +#include +#ifndef __STDC_NO_ATOMICS__ +#include +#endif +#include +#include +#include + +/* C23 */ +// #include +// #include +// #include + +int main(void) { + return 0; +} -- cgit v1.2.3