Christoffer Lerno
87fdb5956e
Improved backtrace on platforms without glibc. Added $$frameaddress and $$returnaddress properly.
2023-11-18 20:13:11 +01:00
Christoffer Lerno
07c27f3292
Remove emulated stack trace.
2023-11-17 07:27:17 +01:00
Christoffer Lerno
9af37fe427
$and, $or, $is_const, $assignable, .is_eq, .is_ordered, $defined($vatype(2)) works looking if we can create a type, $defined(foo[0]) $defined(foo()). Remove $checks and @checked. Improvide casting checks to always work without destructive changes.
2023-10-24 22:06:04 +02:00
Christoffer Lerno
a9c28cce6d
Default protocols. Closes #1039
2023-10-10 23:30:33 +02:00
Christoffer Lerno
312a39ee24
Handle protocol inheritance. Allow overlapping protocol methods. Remove the need for &self in protocol declarations. Fix cast rules for protocol. Fix cast rules for bitstruct #1034 .
2023-10-08 02:10:28 +02:00
Christoffer Lerno
99cfaa1583
Refactor protocols.
2023-10-06 22:31:41 +02:00
Christoffer Lerno
49c4595457
Dynamic protocols.
2023-10-05 15:20:41 +02:00
Christoffer Lerno
4cc30c0d33
Replace static initializer with @init / @finalizer
2023-10-03 12:45:43 +02:00
Christoffer Lerno
ad776c76a7
Add benchfn and testfn allowing easy overwrite of test and benchmark runners. #990
2023-09-23 00:30:09 +02:00
Christoffer Lerno
ff05128a87
Add atomic_fetch_exchange builtin.
2023-09-15 18:22:37 +02:00
Christoffer Lerno
f6e18ded5b
Add atomic_fetch builtins.
2023-09-15 18:07:15 +02:00
Christoffer Lerno
2eddda9061
Add gather/scatter for vectors.
2023-09-14 10:19:15 +02:00
Christoffer Lerno
dfe097931c
Add masked_load / masked_store
2023-09-09 01:05:51 +02:00
Christoffer Lerno
4ef74a1205
Add $$select. "--fp-math" options. Fixed issue with accidentally silent error on failed vector conversions.
2023-09-08 09:20:27 +02:00
Christoffer Lerno
a23112fae6
Added parentof.
2023-08-29 11:51:09 +02:00
Dmitry Atamanov
b8c92c69b0
Implement builtin benchmarks.
2023-08-28 08:13:21 +02:00
Christoffer Lerno
c7d90baad1
Error message on bus error or segmentation fault. Some additional SIG… ( #848 )
...
* Error message on bus error or segmentation fault. Some additional SIG info. Full debug info by default. Trapping is now debugtrap rather than trap for LLVM. Row now initialized when entering function for stacktrace.
2023-07-13 15:25:06 +02:00
Christoffer Lerno
8b605d9183
$embed.
2023-07-09 01:18:01 +02:00
Christoffer Lerno
f74e294dc2
Push stack codegen to function for cleaner binaries. Some refactoring in allocators.
2023-06-30 01:01:58 +02:00
Christoffer Lerno
4d552ae44d
Update $include syntax and behaviour. Remove top level $if completely.
2023-06-21 16:27:53 +02:00
Christoffer Lerno
4c1edfb941
Dev ( #777 )
...
* The new @if directive.
2023-06-10 23:16:28 +02:00
Christoffer Lerno
b794c893d6
Dynamic dispatch.
2023-05-25 22:28:45 +02:00
Christoffer Lerno
db8c46d6c5
Addition of "distinct" and "inline" as keywords. Removal of "alias" keyword.
2023-05-04 08:48:17 +02:00
Christoffer Lerno
809321e20c
Updated grammar. Removal of elif. Removal of ':' ';' in some ct statements. Empty faults is now an error. Remove "define" for types. Remove "private". Better errors on incorrect bitstruct syntax. Introduction of wildcard type rather than optional wildcard. Removal of scaled vector type. mkdir and rmdir. Disallow define @Foo() = { @inline }. Add handling for @optreturn and change it to @return!. Restrict interface style functions. Updated x64 ABI. stdlib updates to string. Removed deprecated functions. Update how variadics are implemented. Extended error messages. x86 ABI fixes. Shift check fixes. '!' and '?' are flipped. No trailing ',' allowed in functions. Fix to string parsing. Allow l suffix. Simplifying flatpath. any replaces variant, anyfault replaces anyerr. Allow getting the underlying type of anyfault. De-duplicate string constants. Fix of readme. Extended list. Fix of "(MyEnum)x + 1". Clock and DateTime types. Fixes to array concat.
2023-04-21 10:56:39 +02:00
Christoffer Lerno
8b0df0ee11
try? / catch?
2023-03-17 22:49:48 +01:00
Christoffer Lerno
bd8bff85d6
Add tracking allocator. Fix substruct issue.
2023-02-27 17:05:27 +01:00
Christoffer Lerno
dd4edfb747
Updated malloc/calloc/realloc/free deprecation of old helper functions. Add checks to prevent incorrect alignment on types when using malloc. Better errors from $assert. Added @deprecated. Fixed issue using named arguments after varargs.
2023-02-27 15:03:27 +01:00
Christoffer Lerno
baa2e474b5
Added $$atomic_store and $$atomic_load.
2023-02-17 13:22:12 +01:00
Christoffer Lerno
a0a5c940f1
Add --strip-unused.
2023-02-16 22:11:42 +01:00
Christoffer Lerno
818396b6f3
Updated module visibility import visibility. Fixes to @local
2023-02-15 09:47:51 +01:00
Christoffer Lerno
03cd56e46b
Add @local and fix visibility issues for generic methods.
2023-02-14 12:17:56 +01:00
Christoffer Lerno
5e457be605
Implement more @export / @private improvements. Make @private default… ( #729 )
2023-02-13 08:31:40 +01:00
Christoffer Lerno
ddd8be0f38
Fix global noinit. Add @noinit. With tests.
2023-02-11 00:10:02 +01:00
Christoffer Lerno
0a0cc4b5df
Header printout complete. "@export" added but might get removed.
2023-02-09 23:16:18 +01:00
Christoffer Lerno
f313e90e28
Some work on headers. Fix unsigned negation on consts.
2023-02-09 09:15:51 +01:00
Christoffer Lerno
e0252a6d7a
Make it possible to use @deprecated in docs.
2023-02-05 22:13:50 +01:00
Christoffer Lerno
6b928c7a3d
Add saturated math and expect macros.
2023-02-03 00:25:29 +01:00
Christoffer Lerno
0afd55425a
More ABI cleanup and fixes to RISC-V ABI + tests for riscv32.
2023-01-30 23:46:06 +01:00
Christoffer Lerno
e604d40fd3
Added $$FILEPATH
2023-01-29 13:26:34 +01:00
Christoffer Lerno
77608e137e
Updated winmain handling
2023-01-29 13:18:43 +01:00
Christoffer Lerno
5ea15eb708
Make Windows use wWinMain always. Support /SUBSYSTEM:WINDOWS
2023-01-29 01:32:35 +01:00
Christoffer Lerno
a95710c93f
Add no-entry to project/command line. Add "link-args" to project. Add @wasm and @extern attributes. Added $$wasm_memory_size and $$wasm_memory_grow builtins.
2023-01-26 12:02:09 +01:00
Christoffer Lerno
c9e1e2d763
Replace $$shufflevector with $$swizzle and $$swizzle2. Add builtin swizzle accessors.
2023-01-22 01:12:55 +01:00
Christoffer Lerno
da65de2d01
Add compare_exchange. Rudimentary threads (subject to change)
2023-01-10 20:46:39 +01:00
Christoffer Lerno
43dc2d650c
Use "String" consistently for "char[]" ( #694 )
...
Use "String" consistently for "char[]". Fix win32 return value.
2023-01-07 22:50:33 +01:00
Christoffer Lerno
b5afa98507
Updated vector comparison behaviour and semantics.
2022-12-14 23:02:01 +01:00
Dmitry Atamanov
8b0d409695
Add inlined memcpy and memset builtins and macros. ( #668 )
2022-12-12 11:45:01 +01:00
Christoffer Lerno
de4bfe470e
Attempt supporting setjmp on MSVC
2022-12-07 22:16:09 +01:00
Dmitry Atamanov
5ff726d8d1
Added $$get_rounding_mode and $$set_rounding_mode builtins. ( #655 )
2022-11-14 13:07:32 +01:00
Christoffer Lerno
49eacb8824
More support for test. Panic function update.
2022-11-14 11:48:12 +01:00