Commit Graph

498 Commits

Author SHA1 Message Date
31c8d0af15 Fix float literals for integer floats 2024-06-06 16:20:36 -04:00
e9abf8a370 Prefer 'sizeof(t[n])' over 'sizeof(t)*n' 2024-06-06 15:05:35 -04:00
b4dc858794 Change how floats are serialized 2024-06-01 11:25:14 -04:00
11efaa6f8f Change how behavior is handled for running files with no main() func 2024-05-31 20:34:29 -04:00
fdaadee133 Fix imported symbol prefixes 2024-05-31 20:32:02 -04:00
9536487df8 Fix "extern" issue for real 2024-05-31 13:55:34 -04:00
010089fceb Change where 'extern' keyword goes in codegen for variable declarations 2024-05-31 13:49:48 -04:00
5badc29496 Top-level inline C code goes in C file, not header 2024-05-28 19:02:00 -04:00
913d8a538f Add -C cleanup flag and tweak where .so files get installed 2024-05-28 18:58:42 -04:00
94aa0620f2 Shared object files should create a .o first and then .so after 2024-05-28 02:50:01 -04:00
74eed9bc30 Better error checking 2024-05-28 02:38:14 -04:00
e382b5d2d9 Better error reporting 2024-05-28 02:35:21 -04:00
076ead369c Change default c compiler to 'cc' 2024-05-28 02:32:00 -04:00
8df8f5bb82 Changes to dependency tracking, compilation, and object linking 2024-05-28 00:30:09 -04:00
cb634f61f7 Remove unused code 2024-05-27 18:02:40 -04:00
c9889582a7 Fix up some import and -fPIC stuff 2024-05-27 17:45:22 -04:00
c35e5a84b9 Limited support for tomo -s to compile shared objects 2024-05-27 17:25:13 -04:00
f11b46d660 Add file prefix to lambda types 2024-05-27 16:35:15 -04:00
4930c22aca Don't capture modules in closures (they're not real values) 2024-05-27 16:33:51 -04:00
937a559e7f Bugfix for void thunks 2024-05-27 16:33:14 -04:00
6bd755eb24 Add support for $OBJFILES to allow linking extra object files, plus
don't scan for imports with .h files that aren't .tm.h
2024-05-27 16:25:08 -04:00
468e6c7411 Fix for parsing linker directives 2024-05-26 15:13:34 -04:00
128b1dd239 Move standard initialization code into tomo_init() function 2024-05-25 13:56:34 -04:00
9d744b3e6e Include tweak 2024-05-25 13:04:59 -04:00
670c90cef4 Bugfix for doctest assignments not doing promotion checks 2024-05-24 00:09:39 -04:00
308946e794 Switch optional detection to use 'when .. is @..' instead of 'if .. :=
..'; also fixed a bug with stack memory in doctests
2024-05-24 00:03:46 -04:00
bf3cdc3dfa Refine the parsing of blocks so it's always ':' [inline-block] [indent indented-block] 2024-05-23 13:09:59 -04:00
e7beacb460 Add a 'do' block for scoping 2024-05-23 12:52:18 -04:00
fba2b99b65 Support 'while when' 2024-05-23 12:40:21 -04:00
7a741e65e6 Deprecate enum field access 2024-05-22 13:45:13 -04:00
8c3d1e4066 Fix for matching with enums defined in another file 2024-05-22 13:37:15 -04:00
2d0834f1d8 Better error message 2024-05-22 13:34:32 -04:00
723f3e141c Temporary fix for issue with stack references leaking memory and
breaking memory safety
2024-05-21 21:55:52 -04:00
7e275af628 Get rid of struct constructor 2024-05-21 20:54:09 -04:00
b1db4fd0f6 Improve codegen for enums and structs (change $tag$Foo$Baz to
Foo$tag$Baz)
2024-05-21 20:14:57 -04:00
760f46e71c Reduce codegen output for enums without data attached to any tags 2024-05-21 13:42:33 -04:00
c5c3be9e5d Deprecate Text.slice() 2024-05-20 15:27:42 -04:00
5b1960859f Hook up Text.has(), Text.trimmed(), Text.without() 2024-05-20 15:19:31 -04:00
7dddfb71a0 Add Text.slice() 2024-05-19 14:38:44 -04:00
b0d1daa0f3 Fix up some binding order issues and also some inline C issues with
heap_pop()
2024-05-19 01:46:30 -04:00
4f2421aeea Tweak inline C code 2024-05-18 21:18:08 -04:00
e4e3186959 Minor fixes 2024-05-18 20:53:03 -04:00
1df26851d7 Add syntax for "inline C(...)" 2024-05-18 16:31:34 -04:00
e439fcd1e2 Clean up imports a bit 2024-05-18 14:42:35 -04:00
a1d18fd422 Add C string type 2024-05-18 14:38:41 -04:00
ee9a40f910 Fix 'else if' 2024-05-16 00:55:16 -04:00
c1e4730f35 Fix for bare enums in multi-assigns 2024-05-15 13:42:45 -04:00
214a8e18aa Rename func 2024-05-15 13:40:27 -04:00
8809435867 Bugfix for assignment not properly promoting (and checking) values, plus
adding support for unqualified enums in assignment
2024-05-15 13:39:35 -04:00
af0c285d96 Allow specifying function arg enums without qualifiers 2024-05-15 13:24:43 -04:00