Christoffer Lerno
|
890c4bc435
|
0.2.0. Build system improvements. Target changes x64-windows -> windows-x64, x64-darwin -> macos-x64. Improved mac support. LLD linking for Mac, Windows, Linux. Cross linking for Mac, Windows. Clean up string use. Fix of debug handling of multiple compilation units per module. MSVC CI
|
2022-04-26 13:20:33 +02:00 |
|
Christoffer Lerno
|
6789fab93c
|
Panic function that may be redefined. Trap and stacktrace builtins. Bug using builtin fixed. Fixes to using $$LINE and friends. Produces a stacktrace on error.
|
2022-03-18 12:43:17 +01:00 |
|
Christoffer Lerno
|
7226bff6ea
|
Use JSON, unifying settings.
|
2022-02-15 18:53:54 +01:00 |
|
Christoffer Lerno
|
a176ae353b
|
Refactored function pointer.
|
2022-01-07 19:13:07 +01:00 |
|
Christoffer Lerno
|
1d5ff71b21
|
Rearchitecture contexts. Fixing macro resulution, hash arguments and defers.
|
2022-01-04 20:45:58 +01:00 |
|
Christoffer Lerno
|
5cbc619f13
|
.obj / .exe default suffix now depends on target, not compiler platform.
|
2021-12-19 13:11:43 +01:00 |
|
Christoffer Lerno
|
05c9b7cb33
|
More explicit conversion and width changes to some field.
|
2021-11-21 23:37:54 +01:00 |
|
C34A
|
5dea48101f
|
MSVC compatibility
|
2021-10-19 13:04:17 +02:00 |
|
Christoffer Lerno
|
8731634f4d
|
Unified constants (enum, error types, typeid). Removed EXPR_MEMBER_ACCESS. Added if-catch-switch. switch-case can handle non constant values. Inlining removed on O0. Added subarray comparison allowing string cases.
|
2021-08-27 19:13:32 +02:00 |
|
gdm85
|
33fc08542e
|
Add support of builds for Ubuntu 18/20 through Docker
|
2021-06-15 09:57:34 +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
|
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
|
954a90dae3
|
Fix of arch target. Experimental linker support.
|
2021-04-09 18:47:41 +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
|
025c5e6e8a
|
Added some more PIE/PIC code. Not quite correct yet unfortunately.
|
2020-11-28 22:17:32 +01:00 |
|
Christoffer Lerno
|
162bb9dac8
|
Add a new "target" command line option to set the target without the need for a full target triple. Add debug command line options. Fix bug with coerce for x64 SysV ABI.
|
2020-11-23 23:24:27 +01:00 |
|
Christoffer Lerno
|
f2c394dc96
|
Compatibility with both LLVM 10 and 11
|
2020-11-23 17:40:13 +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
|
89ce6064e1
|
Started work on cleaning up dumping the AST. Lots still to do but... Split try expr further and fixed emit of statement.
|
2020-05-06 22:23:53 +02:00 |
|
Christoffer Lerno
|
93bd0fb337
|
Jumping on else added.
|
2020-05-05 11:28:49 +02:00 |
|
Christoffer Lerno
|
78aa49cc0e
|
Work on getting typeof up and running. Try-else now works.
|
2020-04-22 20:19:55 +02:00 |
|
Christoffer Lerno
|
ebbea2ac42
|
Lookahead cleanup. Start work on throws. Fix try expressions. Beginning work on initializer. Some fixes on LLVM types. Moving more target info into C3. Moving alignment into types Introducing a meta type (incomplete). Start work on macros. Splitting '@' from macro name.
|
2020-03-29 17:39:33 +02:00 |
|
Christoffer Lerno
|
cdc1bfe267
|
Start using UnaryOp/PostUnaryOp ++/-- now works post/pre and also on pointers. Fix ++/-- on any number. Added examples. c3c now compiles files by default. Extended symbol resolution. Addition of 'extern'. Multi-level paths.
|
2020-01-16 21:28:13 +01:00 |
|
Christoffer Lerno
|
aee3f99ea7
|
Added some codegen & .o generation and (hopefully correct) optimization. Hacked strings in together with i++/i--. Fixed up parsing of strings supporting \u \U \x => UTF8
|
2019-11-27 16:16:44 +01:00 |
|
Christoffer Lerno
|
990918b609
|
LLVM Codegen
|
2019-11-20 17:09:25 +01:00 |
|