Commit Graph

3989 Commits

Author SHA1 Message Date
Christoffer Lerno
84fa680568 Allow multiple modules in a single file. 2021-05-30 16:30:16 +02:00
Christoffer Lerno
d9566ef894 Generic modules are back, slightly different. 2021-05-30 16:30:16 +02:00
Christoffer Lerno
97ac957cb7 "Public by default" 2021-05-30 16:30:16 +02:00
André
13e95553bb nano syntax highlighting support
c3.nanorc syntax file with instructions to install.
2021-05-29 20:27:11 +02:00
Sarah
a946c9daeb Fix broken hyperlink 2021-05-28 11:47:16 +02:00
Christoffer Lerno
892c7e8874 Changed generic modules to internal templates. 2021-05-27 08:30:02 +02:00
Christoffer Lerno
b99f8d644b Beginning support for variable sized arrays at end of struct. 2021-05-24 17:57:00 +02:00
Christoffer Lerno
97f7d1288e Function type updated inside of type code. 2021-05-24 00:53:35 +02:00
Christoffer Lerno
cf82140a47 Adding min/max/elements to enums. 2021-05-23 23:55:10 +02:00
Christoffer Lerno
dbb067a005 Cleanup. 2021-05-23 21:32:32 +02:00
Christoffer Lerno
1f676c135c Removed func and rewrote typedefs. 2021-05-23 13:16:48 +02:00
Christoffer Lerno
90c988cc1f Fix issue with unifying void returns. 2021-05-20 00:12:58 +02:00
Christoffer Lerno
fb6d80b0f6 Removed implicitly created modules. Fix classification of arrays in x64. Fix cast with direct-pair. With test cases. 2021-05-19 17:27:59 +02:00
Christoffer Lerno
1a01e08d01 Add the ability to add global defines. 2021-05-19 01:43:47 +02:00
Christoffer Lerno
11624e8eb1 Remove old cast syntax. 2021-05-18 22:54:01 +02:00
data-man
d663af1e1a Fix casts in math module 2021-05-18 19:00:51 +02:00
Christoffer Lerno
fc31c15914 Updated cast syntax in code samples. 2021-05-18 17:23:27 +02:00
Christoffer Lerno
216467cbf8 Added alternative cast syntax: (type)(expr) 2021-05-18 14:57:41 +02:00
data-man
7ee015c84f Fix casts in math module 2021-05-17 22:25:03 +02:00
Christoffer Lerno
3c4233f4d4 Fixes to failable return from expression and macro blocks. Allow division by float zero. Correct type promotion from compile time float. 2021-05-17 21:17:46 +02:00
Jason Dsouza
2f8f620f9f Add Matrix Strategy 2021-05-15 13:51:33 +02:00
Christoffer Lerno
87a91b25e5 Add --version and -V 2021-05-15 03:23:31 +02:00
Christoffer Lerno
729e26d37c Test both release and debug. 2021-05-13 21:23:24 +02:00
Christoffer Lerno
a67360daf5 Fixup of codegen. 2021-05-13 19:12:50 +02:00
Christoffer Lerno
ef69a2b478 Fix avoiding accidental pthread_join. 2021-05-13 18:45:57 +02:00
Christoffer Lerno
a8c3210c25 Disable PTHREADS on non Mac 2021-05-13 18:14:53 +02:00
Christoffer Lerno
3b0a2579e8 Take parameters -pic -pie from commandline. 2021-05-13 15:30:57 +02:00
Christoffer Lerno
460c0d04d7 Generic modules. 2021-05-12 17:25:59 +02:00
Christoffer Lerno
c907b52cd1 Fix arrays and vector debug information. 2021-05-11 14:58:21 +02:00
Christoffer Lerno
9b86b00834 Compilation is now done with each module compiled together. 2021-05-11 14:58:21 +02:00
Christoffer Lerno
15a65d0c97 Allow use of pthreads to parallelize codegen. 2021-05-09 19:26:05 +02:00
Christoffer Lerno
f7919edb35 Split modules into generic and normal modules on the top level. Prepare for static. Change local -> static as keyword. Add private include. Remove old sub module search. 2021-05-09 19:26:05 +02:00
Christoffer Lerno
3bd638bf77 Fixes to debug info in function pointer declarations. Incorrect x64 ABI code for structs by val. Change "Compiler" to "GlobalContext" storage of all types inside. Call debug symbol correct. 2021-05-02 16:42:28 +02:00
Christoffer Lerno
c6f671a6ca A bit more global... 2021-04-29 22:44:00 +02:00
Christoffer Lerno
cd4b0bd803 Clearly check min 1 source files. 2021-04-29 20:23:10 +02:00
Christoffer Lerno
0f6f376340 Remove overread warning. 2021-04-29 18:27:09 +02:00
Christoffer Lerno
d3221981bc Remove duplicate conditions in TOML parser. 2021-04-29 18:20:35 +02:00
Christoffer Lerno
3a465a99b2 Removing warning due to issue with LLVM headers. 2021-04-29 18:17:55 +02:00
Christoffer Lerno
5ad11ebb76 Added warnings (should be ok up to GCC 8) 2021-04-29 18:13:38 +02:00
Christoffer Lerno
aa8a773ca0 Removed unsupported warning. 2021-04-29 17:45:40 +02:00
Christoffer Lerno
dbd7d9ffa9 Updated with explicit warnings. 2021-04-29 17:36:57 +02:00
Christoffer Lerno
fd08c5c980 Revert "Remove suppressed warning." 2021-04-29 17:23:46 +02:00
Christoffer Lerno
c4585f9bbd Remove suppressed warning. 2021-04-29 17:18:50 +02:00
Christoffer Lerno
41a07f40a9 Suppress warning. 2021-04-29 16:50:38 +02:00
Christoffer Lerno
0e076234ca Set stdlib library for testing and profit. Fix bugs when using void* to step. Make constants private linkage. Compare pointers using unsigned comparison without conversion. Use manual ptrdiff code. Fix issue returning "void!". Unify pointers when doing Foo* - void*. Allow comparing for example void* < Foo* 2021-04-29 03:12:25 +02:00
Christoffer Lerno
01f7343945 Parsing of interface. Fix to unpacking arraypointers. Fix accidental unsplat. 2021-04-29 03:12:25 +02:00
Christoffer Lerno
21d4ecf9b4 Splat/unsplat/typed varargs 2021-04-28 14:33:26 +02:00
Christoffer Lerno
12fbaf476b Small improvements to macro parsing and checking. 2021-04-28 14:33:26 +02:00
mathis2003
ee307f2dba minor change in checking for unclear precedence
Previously the function which is now named "unclear_op_precedence()" used to have an extra not operator when an unclear precedence was found, and then there was also a not operator in the if statement checking for unclear precedence. This was harder to read and having two not operators after each other is totally redundant.
2021-04-17 17:38:19 +02:00
Christoffer Lerno
5a7c174aa5 Suppress some warnings on GCC 2021-04-16 01:30:26 +02:00