Christoffer Lerno
|
1a01e08d01
|
Add the ability to add global defines.
|
2021-05-19 01:43:47 +02:00 |
|
Christoffer Lerno
|
460c0d04d7
|
Generic modules.
|
2021-05-12 17:25:59 +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
|
4210f1ccb2
|
Some work on vararray. Fix span on post unary. Updated error recovery. Updated return analysis to handle void functions. "while" now disallows error prone next line statement. Working on auto linking. Failable load optimized. Optimization and corrections for call returns + documentation.
|
2021-04-05 23:34:40 +02:00 |
|
Christoffer Lerno
|
564c93700e
|
Fixed bug that would intermittently arise from multiple contexts having the same pointer (should preferably be fixed in a different way later). Free all the arenas before codegen. Change "next" to "nextcase". Allow missing function parameters. Add "inline" structs.
|
2021-01-03 00:15:51 +01:00 |
|
Christoffer Lerno
|
0b00fe6988
|
Added round/ceil/trunc/sqrt intrinsics.
|
2020-12-03 15:53:42 +01:00 |
|
Christoffer Lerno
|
ac89023a2d
|
Adding __free and __alloc as intrinsics (but maybe revisit that idea).
|
2020-12-02 22:02:36 +01:00 |
|
Christoffer Lerno
|
3c15e495dd
|
Add macro arguments &foo $foo #foo.
C ABI compatibility aarch64, win64, x86, x64
Added debug info
|
2020-11-22 22:16:19 +01:00 |
|
Christoffer Lerno
|
4222f2731e
|
&&temp operator. Macro evaluation.
|
2020-10-16 18:11:30 +02:00 |
|
Christoffer Lerno
|
77ccfc1f7c
|
Added CT_SWITCH parsing in top level. Nil changed to null. Parsing more in line with grammar. Parse type as expressions. Zero init by default for locals. Corrected bool/fp conversion. Add memcpy pass to fix issue with value load/stores.
|
2020-09-21 11:38:12 +02:00 |
|
Christoffer Lerno
|
380c1c8ab4
|
Support for $assert. Also change order of checking global declarations from parsing to semantic analysis.
|
2020-07-30 17:44:41 +02:00 |
|
Christoffer Lerno
|
ed01616f1e
|
Changed how structs/unions are parsed so that recovery becomes more robust. Allow for more complex error data. Fixed recursive structs/unions. Corrected prefix precedence rules. Begin work on checking initializer constant-ness. Fixed error on failed arithmetic promotion. Added checks on constant overflow of sub/add/mult. Allow "current_module_name::x" to refer to globals. Added many tests.
|
2020-07-23 18:04:18 +02:00 |
|
Christoffer Lerno
|
f45d6ef84b
|
Fix, separate out the function pass from the decl pass. Diagnose non-visible symbols as not visible rather than missing. Fix crash when module identifier is incorrect. !! operator added. New character literal parsing. Added simple test framework.
|
2020-07-21 23:43:28 +02:00 |
|
Christoffer Lerno
|
dc86c21210
|
New failable based error handling. Labelled break/continue/next.
|
2020-07-09 13:07:08 +02:00 |
|
Christoffer Lerno
|
c9ab05bfec
|
Prepare for struct refactoring.
|
2020-05-30 20:58:09 +02:00 |
|
Christoffer Lerno
|
1b69423f45
|
Method functions now work.
|
2020-05-27 12:26:38 +02:00 |
|
Christoffer Lerno
|
1d73338fb0
|
Order of function resolution is different. Function prototypes resolved first. Same with LLVM gen. Designated initializer and anonymous fields fixed mostly.
|
2020-04-12 21:35:25 +02:00 |
|
Christoffer Lerno
|
f4b4bab947
|
Restructuring the parser & split parser into parts. Parsing more constructs now, like enums with extended syntax. Corrected handling of function block to be an expression. Added expression block codegen.
|
2020-03-29 17:40:42 +02:00 |
|