data-man
d360e97439
CMakeLists.txt refactoring
2021-12-17 16:08:35 +01:00
Theo
74fa81336f
Smarter windows library path detection ( #339 )
...
add support for visual studio 2022 preview, switch to using smarter windows library path detection
2021-11-30 09:44:51 +01:00
Christoffer Lerno
164a1ef59d
Initial foreach implementation based on index
2021-11-27 00:57:27 +01:00
Christoffer Lerno
17a03bc104
Added rudimentary operator overload.
2021-11-27 00:57:27 +01:00
Christoffer Lerno
aafa0d08a2
Removing -Wconversions
2021-11-22 00:07:06 +01:00
Christoffer Lerno
05c9b7cb33
More explicit conversion and width changes to some field.
2021-11-21 23:37:54 +01:00
Christoffer Lerno
bb39cf20c0
Removal of #pragma mark, explicit conversions.
2021-11-21 21:43:06 +01:00
Christoffer Lerno
86072ae21f
Start integration of tiny backend.
2021-11-19 09:52:14 +01:00
Christoffer Lerno
15f902579b
Removed virtual
2021-11-08 22:22:01 +01:00
Christoffer Lerno
d36fc9b19e
Formatting.
2021-10-19 16:47:25 +02:00
C34A
5dea48101f
MSVC compatibility
2021-10-19 13:04:17 +02:00
Christoffer Lerno
b4df56db54
Removed original_type, pure, removed bigint, added i128 type, lots of fixes to $Foo, reassigning ct type, catch/macro, "!", removed type inference.
2021-10-19 10:39:02 +02:00
data-man
de6ea0d1ae
Better support LLD 14+
2021-09-30 11:15:44 +02:00
data-man
1b103a3e22
Support LLVM 14+
2021-09-16 18:05:13 +02:00
kvk1920
429fb647fb
CI testing ( #234 )
...
* run test in CI
* make CI run
* fix some issues with paths on Windows
* avoid using float80
* add mingw64 ci
* fix path issue in tests
* add lld for mingw64 CI
2021-07-17 10:30:19 +02:00
kvk1920
9bd4568ef5
Windows compatibility ( #223 )
...
* MSYS2 CI
2021-07-14 14:19:27 +02:00
gdm85
33fc08542e
Add support of builds for Ubuntu 18/20 through Docker
2021-06-15 09:57:34 +02:00
Christoffer Lerno
e650ae771f
Thread pool and some updated lib code.
2021-06-11 13:23:45 +02:00
Christoffer Lerno
dbb067a005
Cleanup.
2021-05-23 21:32:32 +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
0f6f376340
Remove overread warning.
2021-04-29 18:27:09 +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
5a7c174aa5
Suppress some warnings on GCC
2021-04-16 01:30:26 +02:00
Christoffer Lerno
fe3f7d427e
Updates to the linker, tentative x86_64 support (and MacOS)
2021-04-13 23:35:31 +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
9a0b8aab0b
Small fixes
2020-12-22 23:12:32 +01:00
Christoffer Lerno
6a5a0f2b94
Moved ABI lowering from codegen to semantic analysis. Fixes for failables in the ABI and the codegen.
2020-12-04 19:19:57 +01:00
Christoffer Lerno
49006217e8
Added WASM ABI
2020-11-28 20:48:47 +01:00
Christoffer Lerno
84eea12efe
Initial work on RISCV - completely untested.
2020-11-28 19:02:55 +01:00
Christoffer Lerno
29730345b0
Moving llvm-emit / debug output separately. Started work on C headers. Started work getting packed unions and structs to work correctly. Also added some unfinished PIC code.
2020-11-27 23:43:39 +01:00
Christoffer Lerno
1057432913
Add CMake find order for multiple LLVM installs.
2020-11-23 20:04:15 +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
b45c866071
Adding $switch and rearranging parser somewhat. Removing the need for "store" of context.
2020-08-02 13:53:17 +02:00
Christoffer Lerno
21357c4fc1
Fix crash when having return value errors. Updated docs. Find and load builtin.c3 locate std lib.
2020-07-31 16:29:52 +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
b4c661eaad
Pre lexing and mmap allocation together with exact exits.
2020-07-15 15:42:54 +02:00
Christoffer Lerno
b2bfd87a06
Started work on ranges. Added weak/noreturn/inline/cname/stdcall/section/alignment attributes. Some work on subarrays. Fixes to throws. Function pointers work.
2020-05-20 14:22:22 +02:00
Christoffer Lerno
8e80091da4
Create CI
2020-04-22 16:07:42 +02:00
Christoffer Lerno
6117a1be7c
Lots of fixes and optimizations to structs. Now there are no unnecessary intermediary types.
2020-04-18 14:29:17 +02:00
Christoffer Lerno
ded367399e
Some work towards automated testing. Fixes to bigint. Removed implicit assign cast. Updated cast rules. Fixes *%=. Simplified case. Unified shift code. Major casts rework. Fixed error handling of pointer + integer adds. Removed &&= and ||=. Unified more expression handling and fixed bugs in sematic analysis on expressions.
2020-04-02 23:13:04 +02:00
Christoffer Lerno
b1aa64cdcc
TypeInfo gained a span. Hex lexing fixed. Basic block returns fixed. Removal of Ast.exit. Enum parameter list parses. Enum analysis improved. Exit deduction improved. Switch over a bool allowed. Switch analysis improved. Added -% operator. Updated implicit casts. Use of bigint. Signed-unsigned comparisons.
2020-03-29 17:41:31 +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
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