Commit Graph

179 Commits

Author SHA1 Message Date
Christoffer Lerno
df3e51c17e Implicit imports. 2022-02-16 20:41:54 +01:00
Christoffer Lerno
7226bff6ea Use JSON, unifying settings. 2022-02-15 18:53:54 +01:00
Christoffer Lerno
d42193dbd6 Fixes the alloca alignment on x64 for alignment > 16. Improved indexing into ConstInitializer adding const indexing into a const array during compile time. Add a temporary enum values result. 2022-02-08 11:41:34 +01:00
Dmitry Atamanov
9f9f24c3cc CI config refactoring (#389) 2022-02-08 11:05:38 +01:00
Christoffer Lerno
66b763193d Use O1 on CXX release to avoid issues. 2022-01-21 02:22:58 +01:00
Christoffer Lerno
eed5b7db54 Correctly call x64 varargs. 2022-01-13 21:22:50 +01:00
Christoffer Lerno
5683fe3f8c Add parsing for escaping and remove "fault" token name. Allow excluding stdlib. Fixes to the x64 abi: no narrowing done for i32 results, assuming too many registers, more tests. 2022-01-12 23:56:59 +01:00
data-man
684ad9e663 Disable mimalloc by the option 2022-01-11 17:32:06 +01:00
Christoffer Lerno
041c096801 Refactored some of the llvm lowering. Work on TB. Disabled mimalloc due to issues with LLVM. 2022-01-09 21:23:37 +01:00
Dmitry Atamanov
d942dfbc99 Support build with mimalloc (#348)
* Support build with mimalloc

* Use latest stable tag
2022-01-07 19:18:25 +01:00
Christoffer Lerno
bbeed12600 Removing unused hash table functions. Removal of macro DECL_NEW. Smaller initial vector size. Remove unnecessary memclear. 2021-12-30 16:41:00 +01:00
Christoffer Lerno
b5b625e54a Make sure normal flags aren't ignored for release. 2021-12-20 00:05:51 +01:00
Christoffer Lerno
dee0199f10 Add compiler options to simplify external tool usage. 2021-12-19 16:25:48 +01:00
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