Christoffer Lerno
2802b2b96d
Ensure, $eval and $evaltype, @unreachable() replaces $unreachable. <Type>.sizeof
2022-03-04 15:49:17 +01:00
Christoffer Lerno
4f4bc80953
Symtab has a new hash map type. New, small, sourcespan, external symbols simplified. Updated docs.
2022-03-01 10:32:52 +01:00
Christoffer Lerno
bf5683b41c
General cleanup, more native platform detection.
2022-02-18 09:54:12 +01:00
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