Commit Graph

718 Commits

Author SHA1 Message Date
7dcb5bea3f Support top-level imports 2024-06-16 15:13:48 -04:00
7a53e10826 Fix issue with type namespaces not getting properly prefixed by library
namespace
2024-06-16 15:12:00 -04:00
729d856139 Better error reporting 2024-06-14 13:45:01 -04:00
6f11f5cbb4 Replace non-identifier characters with '_' when generating prefixes 2024-06-13 22:56:45 -04:00
ce66358d06 Add tomo -u foo to uninstall foo 2024-06-13 21:24:22 -04:00
81d55cacb7 Do dynamic library symbol prefixing using 'patchelf' 2024-06-13 21:20:50 -04:00
dab2c399f1 Split import/use into separate concepts 2024-06-13 13:17:51 -04:00
5d682df66c Remove unused fields on AST 2024-06-13 13:03:13 -04:00
5757a5023c Support loading shared libraries 2024-06-13 12:59:19 -04:00
217eb51280 Add manpage 2024-06-11 13:38:46 -04:00
e9ba4411c9 Change default optimization level to whatever the C compiler's default
is
2024-06-11 13:37:33 -04:00
fef63dfef8 Add library documentation 2024-06-10 12:11:44 -04:00
56b9684362 Make library name specifiable by a command line arg 2024-06-10 11:20:14 -04:00
77aa022df0 Change how tomo command line behavior works and how shared libraries are
built/installed.
2024-06-09 16:16:22 -04:00
7c255c517e Remove linker flags that aren't needed anymore 2024-06-09 14:41:22 -04:00
298c476398 Change build process to use static objects instead of dynamic linking
for compiler
2024-06-09 14:40:34 -04:00
39ac885125 Change c/header transpilation order and fix some issues 2024-06-08 14:39:52 -04:00
66062f399a Change the rules for tests so they recompile and save their output 2024-06-06 17:11:02 -04:00
f834073264 Fix issue with importing modules 2024-06-06 16:36:49 -04:00
8c7d530080 Split header compilation into a separate function 2024-06-06 16:28:53 -04:00
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