Christoffer Lerno
8008fb2c18
Do not auto-deref subscripting.
2022-12-15 23:46:26 +01:00
Christoffer Lerno
50d2a04c48
Default to threads = cpus(). Correct multithreaded benchmark with threads.
2022-12-11 23:35:02 +01:00
Christoffer Lerno
a281dbe812
Added $$TIME, $$DATE, $$FUNCTION. Builtin defines listed.
2022-10-06 11:57:59 +02:00
Christoffer Lerno
46c182f3d1
Fix of bug in nextcase semantic checking. Cleanup and refactoring.
2022-09-22 16:14:39 +02:00
Christoffer Lerno
cc71b96c38
Rearranging code somewhat.
2022-09-22 00:05:22 +02:00
Christoffer Lerno
4fa4b2a631
Refactored builtins. Added reduce operations and powi. Version bump.
2022-09-19 14:58:48 +02:00
Christoffer Lerno
a66c0942f8
Adding saturated builtins. Remove LLVM 12 support. Remove old llvm optimizer use.
2022-09-17 12:03:08 +02:00
Christoffer Lerno
e4e1541cd7
Add macro method test update LLVM version for MSVC.
2022-09-08 15:47:52 +02:00
Christoffer Lerno
1a9a71f4c4
Inline asm first checkin.
2022-09-05 13:29:03 +02:00
Christoffer Lerno
fffb8a1d0c
Update CMake for MSVC. Fix packaging for macos.
2022-08-29 12:47:53 +02:00
Christoffer Lerno
272f134e78
Update for LLVM 16
2022-08-01 17:23:23 +02:00
Christoffer Lerno
b1d83e2ccd
Auto-import std::core. Fix module assignment of declarations. Introspection improvements. Deref null error panics in safe mode. Support for LLVM 15
2022-06-29 21:57:35 +02:00
Christoffer Lerno
f4dc4f64f2
Change TB dir and do debug printout by default.
2022-05-21 20:09:09 +02:00
matkuki
8b4b4273cc
Update CMakeLists.txt
...
Fixes compilation error on Visual Studio 2022
2022-05-16 14:10:28 +02:00
Christoffer Lerno
7c91c56f3d
Updated cmake with latest win-llvm ( #451 )
...
Updated cmake with latest win-llvm
2022-05-15 19:41:12 +02:00
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
b99db4be24
Allocators. Rename of "optenum" to fault. Memcpy and memset added. Cleanup of declaration use.
2022-04-09 20:07:59 +02:00
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