mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-07-12 22:19:10 +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
|
@ -25,8 +25,8 @@
|
|||
#include "libc/sysv/consts/mlock.h"
|
||||
#include "libc/testlib/testlib.h"
|
||||
|
||||
double g_avx2_juiceup_doubles_[4] aligned(32);
|
||||
unsigned long long g_avx2_juiceup_quadwords_[4] aligned(32);
|
||||
double g_avx2_juiceup_doubles_[4] forcealign(32);
|
||||
unsigned long long g_avx2_juiceup_quadwords_[4] forcealign(32);
|
||||
|
||||
void testlib_benchwarmup(void) {
|
||||
/* get mathematical parts of cpu juiced up */
|
||||
|
|
|
@ -20,11 +20,12 @@
|
|||
#include "libc/fmt/fmt.h"
|
||||
#include "libc/mem/mem.h"
|
||||
#include "libc/testlib/testlib.h"
|
||||
#include "third_party/dtoa/dtoa.h"
|
||||
#include "third_party/gdtoa/gdtoa.h"
|
||||
|
||||
testonly char *testlib_formatfloat(long double x) {
|
||||
char dtoabuf[32];
|
||||
char buf[32];
|
||||
char *str = malloc(256);
|
||||
sprintf(str, "%Lf (%s)", x, g_fmt(dtoabuf, x));
|
||||
g_xfmt_p(buf, &x, 15, sizeof(buf), 0);
|
||||
sprintf(str, "%Lf (%s)", x, buf);
|
||||
return str;
|
||||
}
|
||||
|
|
|
@ -350,7 +350,7 @@ void testlib_runfixtures(testfn_t *, testfn_t *, const struct TestFixture *,
|
|||
const struct TestFixture *);
|
||||
int testlib_countfixtures(const struct TestFixture *,
|
||||
const struct TestFixture *);
|
||||
void testlib_abort(void) noreturn relegated;
|
||||
void testlib_abort(void) wontreturn relegated;
|
||||
bool testlib_strequals(size_t, const void *, const void *) nosideeffect;
|
||||
bool testlib_strnequals(size_t, const void *, const void *,
|
||||
size_t) nosideeffect;
|
||||
|
|
|
@ -99,7 +99,7 @@ LIBC_TESTLIB_A_DIRECTDEPS = \
|
|||
LIBC_UNICODE \
|
||||
LIBC_X \
|
||||
LIBC_ZIPOS \
|
||||
THIRD_PARTY_DTOA
|
||||
THIRD_PARTY_GDTOA
|
||||
|
||||
LIBC_TESTLIB_A_DEPS := \
|
||||
$(call uniq,$(foreach x,$(LIBC_TESTLIB_A_DIRECTDEPS),$($(x))))
|
||||
|
|
|
@ -35,7 +35,7 @@ void testlib_finish(void) {
|
|||
}
|
||||
}
|
||||
|
||||
noreturn void testlib_abort(void) {
|
||||
wontreturn void testlib_abort(void) {
|
||||
testlib_finish();
|
||||
exit(MIN(255, g_testlib_failed));
|
||||
unreachable;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue