mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-07-01 16:58:30 +00:00
Add chibicc
This program popped up on Hacker News recently. It's the only modern compiler I've ever seen that doesn't have dependencies and is easily modified. So I added all of the missing GNU extensions I like to use which means it might be possible soon to build on non-Linux and have third party not vendor gcc binaries.
This commit is contained in:
parent
e44a0cf6f8
commit
8da931a7f6
298 changed files with 19493 additions and 11950 deletions
|
@ -20,10 +20,22 @@
|
|||
#include "libc/nexgen32e/hascharacter.internal.h"
|
||||
#include "libc/str/str.h"
|
||||
|
||||
#undef strpbrk
|
||||
#define char wchar_t
|
||||
#define HasCharacter HasCharacterWide
|
||||
#define strpbrk wcspbrk
|
||||
#define strchr(x, y) wcschr(x, y)
|
||||
|
||||
#include "libc/str/strpbrk.c"
|
||||
/**
|
||||
* Returns pointer to first byte matching any in accept, or NULL.
|
||||
* @asyncsignalsafe
|
||||
*/
|
||||
wchar_t *wcspbrk(const wchar_t *s, const wchar_t *accept) {
|
||||
size_t i;
|
||||
if (accept[0]) {
|
||||
if (!accept[1]) {
|
||||
return wcschr(s, accept[0]);
|
||||
} else {
|
||||
for (i = 0; s[i]; ++i) {
|
||||
if (HasCharacterWide(s[i], accept)) {
|
||||
return (/*unconst*/ wchar_t *)&s[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue