Christoffer Lerno
|
fc849c1440
|
0.6.0: init_new/init_temp removed. LinkedList API rewritten. List "pop" and "remove" function now return Optionals. RingBuffer API rewritten. Allocator interface changed. Deprecated Allocator, DString and mem functions removed. "identity" functions are now constants for Matrix and Complex numbers. @default implementations for interfaces removed. any* => any, same for interfaces. Emit local/private globals as "private" in LLVM, following C "static". Updated enum syntax. Add support [rgba] properties in vectors. Improved checks of aliased "void". Subarray -> slice. Fix of llvm codegen enum check. Improved alignment handling. Add --output-dir #1155. Removed List/Object append. GenericList renamed AnyList. Remove unused "unwrap". Fixes to cond. Optimize output in dead branches. Better checking of operator methods. Disallow any from implementing dynamic methods. Check for operator mismatch. Remove unnecessary bitfield. Remove numbering in --list* commands Old style enum declaration for params/type, but now the type is optional. Add note on #1086. Allow making distinct types out of "void", "typeid", "anyfault" and faults. Remove system linker build options. "Try" expressions must be simple expressions. Add optimized build to Mac tests. Register int. assert(false) only allowed in unused branches or in tests. Compile time failed asserts is a compile time error. Remove current_block_is_target. Bug when assigning an optional from an optional. Remove unused emit_zstring. Simplify phi code. Remove unnecessary unreachable blocks and remove unnecessary current_block NULL assignments. Proper handling of '.' and Win32 '//server' paths. Unify expression and macro blocks in the middle end. Add "no discard" to expression blocks with a return value. Detect "unsigned >= 0" as errors. Fix issue with distinct void as a member #1147. Improve callstack debug information #1184. Fix issue with absolute output-dir paths. Lambdas were not type checked thoroughly #1185. Fix compilation warning #1187. Request jump table using @jump for switches. Path normalization - fix possible null terminator out of bounds. Improved error messages on inlined macros.
|
2024-05-22 18:22:04 +02:00 |
|
Christoffer Lerno
|
9436efe554
|
Compiler crash on designated initializer for structs with bitstruct.
|
2024-05-20 14:42:09 +02:00 |
|
Christoffer Lerno
|
ed9f15becf
|
Foreach uses non-wrapping add/dec.
|
2024-05-08 23:05:12 +02:00 |
|
Christoffer Lerno
|
82227e8901
|
Incorrect cast of bitstructs #1186
|
2024-04-26 17:39:30 +02:00 |
|
Christoffer Lerno
|
75e7176675
|
Bitstruct cast to other bitstruct by way of underlying type would fail #1159.
|
2024-02-26 23:51:14 +01:00 |
|
Christoffer Lerno
|
deb4cc7c4b
|
0.5.3: Single-module not respected. Fix issue with compiler defined types. Fix optimization levels for projects. Use GEP i8 on offsets. Optimize foreach on len 1 arrays. Move panic blocks last. Fix generic module wildcard imports. Deprecate init_temp / init_new. Fix issue with macro vaarg and untyped lists. Fix extern const globals.
|
2024-01-14 15:34:54 +01:00 |
|
Christoffer Lerno
|
5e8816e6df
|
Fixes to native backtrace.
|
2023-11-13 17:20:46 +01:00 |
|
Christoffer Lerno
|
54f32ed71b
|
Fix alignment for remaining bitstruct binary ops. Turn off broken Mingw LLVM in CI.
|
2023-10-13 14:43:04 +02:00 |
|
Christoffer Lerno
|
fed343e3bb
|
Fix alignment for negating bitstructs. Update mingw LLVM versions in CI.
|
2023-10-13 13:57:44 +02:00 |
|
Christoffer Lerno
|
a9c28cce6d
|
Default protocols. Closes #1039
|
2023-10-10 23:30:33 +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
|
37bb16cca1
|
Updated cast code.
|
2023-09-12 12:48:52 +02:00 |
|
Christoffer Lerno
|
4c081f59ff
|
Refactoring, adding printf / printfn to all streams.
|
2023-09-03 10:14:04 +02:00 |
|
Christoffer Lerno
|
9a6d83f526
|
Updated stream API.
|
2023-09-03 01:14:15 +02:00 |
|
Christoffer Lerno
|
69553fd80e
|
Bitstruct designated initializer sometimes failed. This addresses. #954
|
2023-08-27 18:10:22 +02:00 |
|
Christoffer Lerno
|
def97eea9d
|
Fixes member visibility for anonymous bitstruct. Bitstruct member attributes works. Anonymous bitstruct assignment fixed.
|
2023-08-03 01:00:30 +02:00 |
|
Christoffer Lerno
|
45d1b1d671
|
Fix where bitstructs in subarrays triggered the wrong lowering. Fixes #877
|
2023-07-23 20:50:53 +02:00 |
|
Christoffer Lerno
|
5a2fe4c9d9
|
Fix to macro codegen.
|
2023-07-19 01:34:50 +02:00 |
|
Christoffer Lerno
|
3e54d13b62
|
Prefer def
|
2023-06-02 20:08:45 +02:00 |
|
Christoffer Lerno
|
2a79e0f1cf
|
Introduce def as a trial. Fixup of timeit.
|
2023-04-21 17:42:38 +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
|
9b81623680
|
Make string literals default to char[]
|
2023-03-08 11:24:11 +01:00 |
|
Christoffer Lerno
|
3449d2ea88
|
Remove all array pointer decay.
|
2023-03-02 19:47:24 +01:00 |
|
Christoffer Lerno
|
0dcad6f5cf
|
Improve and simplify casts.
|
2023-03-01 22:43:50 +01:00 |
|
Christoffer Lerno
|
2a6339a25e
|
Updated native variants of file handling. Fixed $if folding chain.
|
2023-02-23 18:00:34 +01:00 |
|
Christoffer Lerno
|
afa41f0c10
|
Updated name mangling.
|
2023-02-20 17:48:47 +01:00 |
|
Christoffer Lerno
|
e3416a1c40
|
Allow @test with modules. Change name mangling for non exports.
|
2023-02-20 16:02:30 +01:00 |
|
Christoffer Lerno
|
62fbf4da47
|
Add simple bitstruct.
|
2023-02-18 16:59:52 +01:00 |
|
Christoffer Lerno
|
6e8c69cd52
|
Add & ^ | to bitstructs.
|
2023-02-18 16:21:30 +01:00 |
|
Christoffer Lerno
|
df77b692d6
|
Support "typedef"
|
2023-02-14 16:49:27 +01:00 |
|
Christoffer Lerno
|
0f7d21330a
|
Optimize optional return.
|
2023-02-04 19:48:42 +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
|
1ab304dc64
|
Fix of overalignment on deref.
|
2023-01-19 12:29:17 +01:00 |
|
Christoffer Lerno
|
dc16f65c8e
|
Change printfln to printfn. Make LLVM 15 tests default.
|
2023-01-11 18:00:08 +01:00 |
|
Christoffer Lerno
|
73619817ba
|
Update panic function and early work on tests. Optimize ABI lowering.
|
2022-11-03 19:38:34 +01:00 |
|
Christoffer Lerno
|
ede224662c
|
Fix of broken bitstruct init #641. Version bump.
|
2022-10-21 11:45:34 +02:00 |
|
Christoffer Lerno
|
63d9853bd3
|
Fixes to bitstruct.
|
2022-08-14 18:25:47 +02:00 |
|
Christoffer Lerno
|
fc943a98ef
|
Foreach_r, bump to 0.3.15
|
2022-08-13 03:04:09 +02:00 |
|
Christoffer Lerno
|
44df6eb75b
|
Cleanup.
|
2022-08-12 18:13:24 +02:00 |
|
Christoffer Lerno
|
c02ce5ce2a
|
Better error on all upper parameter names. "Upper case" -> "uppercase"
|
2022-07-26 22:01:23 +02:00 |
|
Christoffer Lerno
|
d3a053e049
|
Updated mangling and bump to 0.2.18
|
2022-07-20 12:22:03 +02:00 |
|
Christoffer Lerno
|
e09e5c06d3
|
User defined attributes.
|
2022-05-11 20:55:09 +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
|
b6450861d2
|
Cast no longer needs (type)(expr) format. Ordinary C (type)expr now works.
|
2022-01-18 22:32:12 +01:00 |
|
Christoffer Lerno
|
4059d22315
|
Remove unnecessary load in LLVM statement lowering. Added more tests from Clang.
|
2022-01-17 17:08:28 +01:00 |
|
Christoffer Lerno
|
c52629d60f
|
Main arguments are now slices if desired.
|
2021-12-17 01:28:57 +01:00 |
|
Christoffer Lerno
|
680b077eb1
|
Flexible array member added, zero sized structs removed.
|
2021-12-14 19:00:33 +01:00 |
|
Christoffer Lerno
|
4662133893
|
Updates to bitstruct
|
2021-11-08 22:22:01 +01:00 |
|
Christoffer Lerno
|
15f902579b
|
Removed virtual
|
2021-11-08 22:22:01 +01:00 |
|