mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-07-06 03:08:31 +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
|
@ -41,7 +41,7 @@ TOOL_DECODE_DIRECTDEPS = \
|
|||
LIBC_UNICODE \
|
||||
LIBC_X \
|
||||
TOOL_DECODE_LIB \
|
||||
THIRD_PARTY_DTOA \
|
||||
THIRD_PARTY_GDTOA \
|
||||
THIRD_PARTY_GETOPT \
|
||||
THIRD_PARTY_XED
|
||||
|
||||
|
|
|
@ -38,7 +38,7 @@ static uint32_t bit, maxbit;
|
|||
static struct BitaBuilder *bitset;
|
||||
static char *line, *tok, *s1, *category, *g_inpath, *g_outpath;
|
||||
|
||||
noreturn void ShowUsage(FILE *f, int rc) {
|
||||
wontreturn void ShowUsage(FILE *f, int rc) {
|
||||
fprintf(f, "Usage: %s [-o OUTPUT] [INPUT]\n", "Usage",
|
||||
program_invocation_name);
|
||||
exit(rc);
|
||||
|
|
|
@ -35,7 +35,7 @@ static size_t linecap, i, x, y;
|
|||
static struct BitaBuilder *bitset;
|
||||
static char *g_inpath, *g_outpath;
|
||||
|
||||
noreturn void ShowUsage(FILE *f, int rc) {
|
||||
wontreturn void ShowUsage(FILE *f, int rc) {
|
||||
fprintf(f, "Usage: %s [-o OUTPUT] [INPUT]\n", "Usage",
|
||||
program_invocation_name);
|
||||
exit(rc);
|
||||
|
|
|
@ -42,7 +42,7 @@ const struct IdName kXedModeNames[] = {
|
|||
enum XedMachineMode g_mode;
|
||||
struct XedDecodedInst g_xedd;
|
||||
|
||||
noreturn void ShowUsage(int rc, FILE *f) {
|
||||
wontreturn void ShowUsage(int rc, FILE *f) {
|
||||
size_t i;
|
||||
fputs("Usage: ", f);
|
||||
fputs(program_invocation_name, f);
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
#include "libc/stdio/stdio.h"
|
||||
#include "libc/str/str.h"
|
||||
#include "libc/x/x.h"
|
||||
#include "third_party/dtoa/dtoa.h"
|
||||
#include "third_party/gdtoa/gdtoa.h"
|
||||
|
||||
const char kConfig[] = "\
|
||||
/* FPU Control Word (x87) Exception Masks\n\
|
||||
|
@ -73,7 +73,8 @@ void PrintRegister(long double x) {
|
|||
memcpy(buf, &x, sizeof(x));
|
||||
memcpy(&lo, &buf[0], sizeof(lo));
|
||||
memcpy(&hi, &buf[8], sizeof(hi));
|
||||
printf("/\t%016lb%064lb %s\n", hi, lo, g_fmt(buf, x));
|
||||
g_xfmt_p(buf, &x, 15, 32, 0);
|
||||
printf("/\t%016lb%064lb %s\n", hi, lo, buf);
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue