656 Commits

Author SHA1 Message Date
Christoffer Lerno
8743223dd6 Allocators. Rename of "optenum" to fault. Memcpy and memset added. Cleanup of declaration use. 2022-04-09 20:07:59 +02:00
Christoffer Lerno
2e2a1ca21a Fix defer with static variables. 2022-03-31 10:11:37 +02:00
Christoffer Lerno
34bd5fa6da Fix of macro defer with bodies. 2022-03-28 10:19:24 +02:00
Christoffer Lerno
131bf5ed34 Cleanup and change of varcast. 2022-03-27 13:22:04 +02:00
Christoffer Lerno
78134316b7 Addin @varcast 2022-03-27 13:09:06 +02:00
Christoffer Lerno
b31629c5e8 Removal of "or_else jump". Fixes to defer & macros/blocks, optimized failable return. @noscope macros removed. Disallow meaningless defer.
Correctly show error on return or rethrow inside of a defer. Fix copying an access expression. Removing scoped expr.
2022-03-26 20:16:36 +01:00
data-man
bbfc2fc8ab Update checkout action to v3 2022-03-23 21:15:52 +01:00
gdm85
1940f6967c Add support for podman
Use a tmpfs when running
Prefix podman images with 'localhost/'
2022-03-23 18:44:46 +01:00
data-man
adf2b2e818 Update build-with-docker.sh [skip ci] 2022-03-23 16:48:46 +01:00
Christoffer Lerno
6a9b14d107 Added regression test for errors. 2022-03-21 18:18:14 +01:00
Christoffer Lerno
8b8a8d81db Fix of issue with "a ?? false" 2022-03-21 13:22:59 +01:00
data-man
d1fadf6428 Don't replace digits to underscore in created files 2022-03-20 19:41:30 +01:00
Christoffer Lerno
05d8e6c7b8 Fix debug panic for vector shift and division. 2022-03-20 19:39:31 +01: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
3490814d73 Simplify scope flags. 2022-03-13 22:49:10 +01:00
Christoffer Lerno
3799dbb082 Use declid instead of decl* in the decltable. 2022-03-12 14:45:54 +01:00
Christoffer Lerno
60d7c8aa14 Add timings. 2022-03-12 02:35:07 +01:00
Christoffer Lerno
55598b2de8 Remove multi-line strings. 2022-03-12 00:40:06 +01:00
Christoffer Lerno
4fe2a70ee1 Only add dll visibility on external functions for win32. 2022-03-11 13:27:01 +01:00
Christoffer Lerno
ab56b2d047 Only add dll visibility on non-local functions for win32. 2022-03-11 13:05:46 +01:00
Christoffer Lerno
1061b4e1dd Make doc an AST type. 2022-03-11 12:24:07 +01:00
Christoffer Lerno
e02362de0c Resolve contracts as they are encountered. 2022-03-11 11:17:39 +01:00
Christoffer Lerno
c414459075 Fix bug with missing debug location. 2022-03-10 15:55:44 +01:00
Christoffer Lerno
8f6fb8b7d7 Move body param as decl. Fix lexer bug with docs. 2022-03-10 14:54:52 +01:00
Christoffer Lerno
fc296ea579 Extracted macro declaration body to separately allocated field. 2022-03-10 14:54:52 +01:00
Christoffer Lerno
4258fe4d01 Simple check for [in] and [out] parameters. 2022-03-10 12:46:45 +01:00
Christoffer Lerno
0565e87e5e Support '@pure' and parse the optreturn tag. 2022-03-10 09:46:30 +01:00
Christoffer Lerno
6a48f81485 Smaller Decl and Expr. Compressed TypeInfo. 2022-03-09 19:10:11 +01:00
Christoffer Lerno
322d714305 Dev (#404)
Remove 'errtype' name and reduce Expr / TypeInfo memory footprint.
2022-03-08 23:38:27 +01:00
Christoffer Lerno
069a2d40cb Changing how defer works. Remove of undef. Simplify ensure. 2022-03-08 14:15:31 +01:00
Christoffer Lerno
9b0dfe8ba3 Cleanup: remove CT_ELIF ast node. 2022-03-04 17:08:47 +01: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
data-man
e45853c0cb Update README [skip ci] 2022-03-01 09:55:34 +01:00
Christoffer Lerno
f54a93890a Remove the EXPR_CONST_IDENTIFIER 2022-02-18 13:56:13 +01:00
Christoffer Lerno
6b4e4f6114 Update formatting to consistently use tabs. 2022-02-18 12:56:17 +01:00
Christoffer Lerno
bf5683b41c General cleanup, more native platform detection. 2022-02-18 09:54:12 +01:00
Christoffer Lerno
73351e0aa9 Updated version for implicit imports. 2022-02-16 20:42:39 +01:00
Christoffer Lerno
df3e51c17e Implicit imports. 2022-02-16 20:41:54 +01:00
data-man
d11d80e896 Update --list-precedence table 2022-02-15 18:55:02 +01:00
Christoffer Lerno
7226bff6ea Use JSON, unifying settings. 2022-02-15 18:53:54 +01:00
Christoffer Lerno
fd82f9685f Make target from string case dependent. 2022-02-15 18:53:54 +01:00
Christoffer Lerno
c70d6716da Added second missing unreachable. 2022-02-08 11:54:19 +01:00
Christoffer Lerno
e57c2710d9 Added missing unreachable. 2022-02-08 11:48:43 +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
data-man
f3e326fcd9 CI config refactoring 2022-02-05 22:26:53 +01:00
Christoffer Lerno
ee32a5fd47 Added $stringify. Remove of editor_plugin folder. 2022-02-02 15:22:28 +01:00
Christoffer Lerno
06917f2e65 Added "guess a number". Fix CT enum / int comparison. Fix some array pointer decay scenarios. Infer type of expression blocks. Correctly merge anyerr. 2022-02-01 22:46:32 +01:00
Christoffer Lerno
ba66aaaf12 Foreach overload is now done using attributes (@operator(elementat), @operator(elementref) and @operator(len)) rather than reserved functions. 2022-01-29 16:45:03 +01:00