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
fc316b1031
Improve the error message on accidentally passing a ref parameter as a pointer.
2023-07-11 12:18:18 +02:00
Christoffer Lerno
8b605d9183
$embed.
2023-07-09 01:18:01 +02:00
Christoffer Lerno
4f7b42cdc4
New generic syntax and ad hoc invocation.
2023-07-06 23:43:36 +02:00
Christoffer Lerno
bbbcd9bf48
Updated name mangling for static vars in llvm.
2023-07-04 01:12:39 +02:00
Christoffer Lerno
848a5212ef
Fixes #811 . Update some stdlib methods. Header printout correctly picks a name. #804
2023-07-03 13:17:43 +02:00
Christoffer Lerno
21d8a8b6da
Fix #809 missing checks on generic types, accepting both types where constants should be and vice versa.
2023-07-01 23:58:00 +02:00
Christoffer Lerno
45820d45e5
Allow using inferred type on method first parameter.
2023-07-01 22:47:54 +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
57424d8b6b
Fixes #786 , constant initialization with constants sometimes causing an error lowering to LLVM. Fixes bug passing void as a vararg argument to an any vararg.
2023-06-19 10:38:37 +02:00
Christoffer Lerno
5f87cb4c4f
Fix of #780 .
2023-06-13 18:30:57 +02:00
Christoffer Lerno
cf83651c79
The new @if directive.
2023-06-11 18:56:37 +02:00
Christoffer Lerno
4c1edfb941
Dev ( #777 )
...
* The new @if directive.
2023-06-10 23:16:28 +02:00
Christoffer Lerno
8eaad81800
Dead strip by default. Add list to_string. Fix missing check for dynamic calls.
2023-06-05 14:54:17 +02:00
Christoffer Lerno
07b107ff5e
Better handling of attribute definition errors. Resolves #753
2023-05-26 11:31:27 +02:00
Christoffer Lerno
b794c893d6
Dynamic dispatch.
2023-05-25 22:28:45 +02:00
Christoffer Lerno
353a072b75
Fix for getting the correct generic type of consts. Fix of late initialization of structs using compound literals.
2023-05-14 17:23:45 +02:00
Christoffer Lerno
8059dc1539
delete_if, retain_if, rindex_of, compact, compact_count added to List.
2023-04-21 14:45:25 +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
ad7ee06635
Grammar updates. Updated enum member parsing.
2023-03-22 21:46:47 +01:00
Christoffer Lerno
07e3ced84e
Deprecate @extname
2023-03-21 16:41:26 +01:00
Christoffer Lerno
3cb94a2857
Temporarily disable LLVM 17. Generic module contracts enabled.
2023-03-14 23:25:52 +01:00
Christoffer Lerno
7a2d73c690
mproved Path code.
2023-03-10 18:46:21 +01:00
Christoffer Lerno
b94c647ead
Distinct String
2023-03-08 14:32:07 +01:00
Christoffer Lerno
1035de3b36
Remove all locations when enums are implicitly lowered to integers. Remove the menagerie of flattening functions. Incidentally this also fixes a bunch of not-yet tested errors with distinct types.
2023-03-04 22:14:29 +01:00
Christoffer Lerno
f9923de7f9
Remove implicit cast from enum to int. Allow enums to use distinct types as the backing type. enum += 1 returns enum type.
2023-03-04 01:03:57 +01:00
Christoffer Lerno
a2911292d8
Simplify narrowing semantics.
2023-03-02 22:04:15 +01:00
Christoffer Lerno
f8208f946b
Remove "generic" code paths.
2023-03-01 12:01:43 +01:00
Christoffer Lerno
9db845903e
Cleanup and allow complex array length inference, e.g. "int[*][2][*] a = ..."
2023-02-28 17:37:17 +01:00
Christoffer Lerno
1c83a484da
Print warnings on deprecated.
2023-02-27 18:59:25 +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
afa41f0c10
Updated name mangling.
2023-02-20 17:48:47 +01:00
Christoffer Lerno
19963e4e19
Fix attributes for nested bitstructs. Add some functions to std::net
2023-02-19 23:35:02 +01:00
Christoffer Lerno
62fbf4da47
Add simple bitstruct.
2023-02-18 16:59:52 +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
8184fba34b
Delay type evaluation further. Current analysis shows that this code should be safe, but there may be some issues lurking.
2023-02-14 09:27:03 +01:00
Christoffer Lerno
5e457be605
Implement more @export / @private improvements. Make @private default… ( #729 )
2023-02-13 08:31:40 +01:00
Christoffer Lerno
3b49b87784
Fix for nolibc (eg wasm). Add multi global declarations. Simplicity wasm export / import. Prevent "extern" functions to have a function body.
2023-02-11 11:16:31 +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
926dbfc535
Fix "int $f = 1;" and int $f;
2023-02-07 00:22:31 +01:00
Christoffer Lerno
cc189a8166
Support user defined attributes in generic modules. Fix bug with user defined attributes with parameters. Fix bug that would overwrite attributes when parsing user defined attributes.
2023-02-06 23:31:03 +01:00
Christoffer Lerno
6cef75b608
Removes win x86 target. Add win aarch64. Fixes to jump buffer sizes. Fix returning bool[2] in the SysV ABI. Array comparison now works. Prevent flexible array comparisons. Prevent zero size unions.
2023-02-06 18:09:31 +01:00
Christoffer Lerno
dce171670f
Use printn rather than println. Add string methods for copying.
2023-02-04 19:48:42 +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
84582f86b6
Cleanup.
2023-01-29 14:20:58 +01:00
Christoffer Lerno
77608e137e
Updated winmain handling
2023-01-29 13:18:43 +01:00