83d0c3b870
Fix writev() on the New Technology ( #117 )
2021-03-09 11:33:48 -08:00
6cd1037692
Get VSCode working with Linux and WSL ( #116 )
2021-03-09 10:12:39 -08:00
e0566c9675
Fix Lua build config
2021-03-08 17:51:26 -08:00
3f35b37b68
Remove nonstandard defines from limits.h ( #115 )
2021-03-08 17:34:44 -08:00
67c27d9e6e
Add Hello World example for LUA C API ( #97 )
2021-03-08 14:15:59 -08:00
2a3037d4e8
Delete Duktape ( #97 )
2021-03-08 13:17:52 -08:00
0a61fe4ea0
Add smoke test for timezone loading ( #114 )
2021-03-08 11:46:04 -08:00
33e8fc8687
Expose public garbage collector API for C language
...
You can now do epic things like this:
puts(_gc(xasprintf("%d", 123)));
The _gc() API is shorthand for _defer() which works like Go's keyword:
const char *s = xasprintf("%d", 123);
_defer(free, s);
puts(s);
Be sure to always use -fno-omit-frame-pointer which makes code fast too.
Enjoy! See also #114
2021-03-08 10:59:34 -08:00
0ad609268f
Improve system call polyfills
...
- Polyfill open() w/ O_CLOEXEC on RHEL5
- Remove old workaround from rmdir() on the New Technology
- preadv() and pwritev() are now smarter about demodernization
- preadv() and pwritev() are now available on the New Technology
2021-03-08 10:07:02 -08:00
816b0e1851
Improve tmpfile api ( #114 )
2021-03-07 21:08:27 -08:00
2bd1e72d5a
Remove garbage collector macro from header ( #114 )
...
We can put this back the moment someone requests it. Pain-free garbage
collection for the C language is pretty cool. All it does is overwrite
the return address with a trampoline that calls free(). It's not clear
what it should be named if it's made a public API.
2021-03-07 20:23:29 -08:00
5ce83b08c8
Add posix_spawn ( #114 )
2021-03-07 20:14:07 -08:00
5f088cec23
Rename Lua test folder
2021-03-07 18:22:53 -08:00
a8945714e8
Make gdtoa less tunable ( #104 )
...
The -fno-math-errno flag shouldn't impact libraries since it's mostly
intended for permitting the compiler to generate sqrt() instructions.
2021-03-07 16:41:59 -08:00
8a6ac6dd63
Set errno when out of range in strtoimax ( #111 )
2021-03-07 14:38:56 -08:00
f5da4efcaf
Set errno in strtol family of functions ( #110 )
2021-03-07 14:18:08 -08:00
b16b332539
Get Lua to build with all tests passing
...
Fixes #61
2021-03-07 13:31:09 -08:00
4d3195f57a
Add Lua
2021-03-07 12:50:34 -08:00
aad841610e
Fix freopen so it resets stream buffer ( #61 )
2021-03-07 12:12:02 -08:00
7583b3accc
Show better error on bind() error
...
See #51
2021-03-07 11:31:44 -08:00
06a4e2d29b
Disable Travis emails
2021-03-07 08:29:43 -08:00
67b9675c81
Make tgmath.h available ( #109 )
2021-03-06 22:40:18 -08:00
4d4aa9e791
Add automatic tests for pull requests
...
Now when you send a pull request Travis CI will build the entire
repository and run all the tests for you automatically. It takes
approximately two minutes to finish so you can get fast feedback
2021-03-06 21:39:03 -08:00
813e11b90b
Fix int parsing with base 2 and 16 ( #107 )
2021-03-06 21:12:32 -08:00
fb7b7c6e21
Fix isystem headers including wrong files ( #108 )
2021-03-06 21:06:29 -08:00
d769df3482
Fix issues with stdio needed for Lua
...
See #61
2021-03-06 19:04:26 -08:00
c3ed8d6c7f
Make %p consistent with glibc and musl
...
See #61
2021-03-06 14:36:44 -08:00
937d921018
Add tests for the greatest of all libm functions
2021-03-06 12:59:35 -08:00
bfef17eb6d
Add more math fixes
2021-03-06 11:44:40 -08:00
11ec99931b
Add Musl multibyte functions
...
These are standard functions that are needed to help support the Skull
language. Note that normally this codebase uses libc/str/thompike.h
See #105
2021-03-06 09:53:16 -08:00
cfd453d125
Add more real formatting tests
...
See #61
2021-03-06 08:45:44 -08:00
6fa049c9c7
Add macro for static_assert ( #106 )
2021-03-05 20:32:25 -08:00
3364fc5b03
Add modf(), modff(), and modfl()
...
See #104
2021-03-05 10:47:14 -08:00
f064183646
Support proper %g, %f, and %a float formatting
...
See #61
See #104
2021-03-05 10:31:16 -08:00
e26bdbec52
Make examples folder somewhat more focused
2021-03-05 06:09:12 -08:00
5141d00992
Perform some minor code cleanup
2021-03-04 13:22:32 -08:00
b9f73e6a4d
Clarify APE self-modifying behavior in README
...
See #102
2021-03-04 07:54:41 -08:00
43b2475aaa
Handle more pow cases ( #61 )
2021-03-04 06:14:07 -08:00
1a08594f95
Add honeybadger to ape.S
2021-03-03 15:00:41 -08:00
e55e71ab48
Delete some old build code
2021-03-03 14:30:25 -08:00
3573814e45
Change release process to use default mode
...
See #101
2021-03-03 13:47:22 -08:00
2134ffe005
Add features needed by Janet language
...
See #97
See https://github.com/ahgamut/janet/tree/f838e36#compiling-janet-on-cosmopolitan
2021-03-03 13:26:46 -08:00
e3ee3c78e9
Refactor some Blinkenlights code
2021-03-03 13:09:06 -08:00
8af91bcbe7
Make pow() conform to standard definition
2021-03-03 09:21:27 -08:00
754974faaa
Remove SOCK_NONBLOCK from Echo Server example
...
See #102 for further explanation.
2021-03-03 06:17:56 -08:00
9367253b4d
Add more libm unit tests and fixes
...
See #61
2021-03-02 13:57:23 -08:00
32e289b1d8
Add error and gamma functions
...
Fixes #99
2021-03-02 11:58:00 -08:00
d53a344e18
Remove getc() optimization
...
This has been reported as causing issues in #61 although it isn't clear
why that's happening. Having a function boundary is bullet proof.
2021-03-02 07:34:38 -08:00
3e19b96ab8
Add more POSIX function stubs
...
Cosmopolitan currently doesn't support threads and it doesn't do
anything fancy in longjmp/setjmp so this change was simple to do
- localeconv
- _setjmp (same as setjmp)
- _longjmp (same as longjmp)
- strcoll (same as strcmp)
- flockfile (does nothing)
- funlockfile (does nothing)
- ftrylockfile (does nothing)
See #61
2021-03-02 03:27:55 -08:00
1831e3ccf7
Bring life.com executable size back down to 12kb
2021-03-02 01:13:32 -08:00