Commit Graph

137 Commits

Author SHA1 Message Date
6b44744e52 Fix for staleness checks in compilation 2025-03-11 00:09:32 -04:00
d905a9d2e0 Deprecate --quiet and just have that be the default 2025-03-11 00:08:26 -04:00
7fbba1b790 Check for main func return values (and error if it has any) 2025-03-09 18:17:57 -04:00
59a0fe7c13 Better error reporting/defaults for -C flag 2025-03-05 18:44:13 -05:00
147e0f0269 Overhaul of constructors, making it more consistent and correct. Also
changed T(), T, T_t, T_s type names to T(), T$$info, T$$type, T$$struct
for unambiguity
2025-03-05 18:20:54 -05:00
14c90bc9b8 Add -r|--run flag to run installed tomo libraries 2025-03-02 00:31:03 -05:00
ebc4686d60 For showing codegen, have users specify a pager instead of hardcoding
bat
2025-02-21 15:27:59 -05:00
a94337bc11 Deprecate autoformatter 2025-02-21 15:19:19 -05:00
b89291957a Restructure compile_file() so it moves a bit more towards less usage of
side effects
2025-02-19 16:30:19 -05:00
8e0f1fa227 Fix symbol renaming issue 2025-02-12 14:57:56 -05:00
812b1e4746 Add more source line info 2025-02-04 14:36:41 -05:00
32da3a3226 Add a _ prefix on variables so it's easier to debug in GDB 2025-02-04 14:16:06 -05:00
4b11f1b2b6 Compile with thread support 2024-12-30 15:32:08 -05:00
ef546696e8 Tweak command line args to support -q and update docs 2024-12-19 15:02:39 -05:00
1e3fb8a2c0 Rename "NULL" to "NONE" 2024-11-24 16:18:21 -05:00
0e10313d64 Switch NaN to be identical to the null value 2024-11-24 16:13:23 -05:00
a8766be2ae Make compiler output spam a little dimmer 2024-10-30 14:09:56 -04:00
fb683a2b1b Organize typedef headers so the typedefs come before the namespace
members
2024-10-30 14:02:34 -04:00
9ebb039a81 Fix up some GCC compiler flag options for LTO and inlining 2024-10-29 23:14:31 -04:00
3e019df9f4 Add -Werror to tomo compile flags 2024-10-29 22:23:48 -04:00
8f346b48aa Fix up some compiler flags around floating point numbers so they work
better with -Ofast and have more standardized behavior
2024-10-03 14:19:23 -04:00
1a6ce0047b Rename TypeInfo -> TypeInfo_t and fix up some typeinfo code 2024-09-30 14:39:30 -04:00
8f7f66d7c8 Cleanup and fixes 2024-09-28 15:28:54 -04:00
23af8b64a3 Overhaul of argument parsing code 2024-09-28 15:17:09 -04:00
ed8b8901c0 Add '$' prefix on all user code 2024-09-24 14:54:22 -04:00
62745cda95 Use original folder names more 2024-09-22 15:07:44 -04:00
6caf6f9131 Add -I flag for installing 2024-09-22 14:59:40 -04:00
7f5af625e5 Support useing .c files and .S files (assembly) 2024-09-18 15:39:22 -04:00
fe3d45c37a Handle subdirectories within libraries 2024-09-17 16:23:55 -04:00
03a7d5f44d Overhaul of header logic so it now uses topological ordering and
deduplication for libraries with multiple files.
2024-09-17 16:20:30 -04:00
2d5c8c3124 Only rename public symbols 2024-09-16 19:59:20 -04:00
32c139e1f4 Make compilation steps exit instead of returning exit statuses 2024-09-16 16:56:29 -04:00
a9a21c40d9 Bugfix for arg passing 2024-09-16 14:29:23 -04:00
68c4731ae6 Show more error info 2024-09-16 14:27:18 -04:00
1f23a4f0e3 Handle installing libraries that were downloaded directly to
~/.local/share/tomo/installed
2024-09-16 13:32:27 -04:00
6595bdd04a Use 'install' to preserve file modification times 2024-09-15 21:23:02 -04:00
6b5a9d65e3 Overhaul of how libraries are installed 2024-09-15 21:18:42 -04:00
c455e7b67d Rename builtins/ -> stdlib/ 2024-09-13 20:18:08 -04:00
4380039acc Rename builtins to use plurals when appropriate 2024-09-13 20:08:20 -04:00
0ead266477 Compiled programs don't need to be linked against -lcord anymore 2024-09-13 14:25:57 -04:00
34c562e88e Move cord helper functions into their own file 2024-09-13 14:23:24 -04:00
aeed1992e9 Fix nearly every GCC warning and add __attribute__((pure/const)) where
appropriate
2024-09-08 17:17:15 -04:00
fba8c90687 Fix partial edit 2024-09-06 14:50:48 -04:00
4291b36e2c Fix header compilation 2024-09-06 14:50:00 -04:00
817235cfbc Check for .tm file extension 2024-09-06 14:27:49 -04:00
79d08c809a Ensure HELP and USAGE are initialized when running CLI program 2024-09-06 12:18:28 -04:00
e0356e07c6 Uhhhh, apparently clang treats ??? as a trigraph unless you specify some
compiler flags.
2024-09-06 00:28:03 -04:00
df61a0805f Correctly resolve '../' paths 2024-09-05 15:47:00 -04:00
391c1b6bde Rename table_t -> Table_t 2024-09-05 14:57:31 -04:00
a8be9efcd3 Rework CLI compilation so that all of the argument parsing is written to
the .tm.c file and the runner program is *just* a single function call
to the function that parses args and runs the main function. Also
improved some CLI usage error code
2024-09-05 14:38:37 -04:00