Christoffer Lerno
|
a4df94d228
|
$foreach doesn't create an implicit syntactic scope. Fix of previous debug info fix.
|
2024-06-06 23:15:21 +02:00 |
|
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
|
c40c93340d
|
Compile time fmod evaluates to 0 #1195
|
2024-05-16 14:33:11 +02: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
|
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
|
e81e91be93
|
Fix void* <=> protocol casts. Fix of tests.
|
2023-10-13 12:44:58 +02:00 |
|
Christoffer Lerno
|
942d53a678
|
Fix tests. Refactoring MacOS SDK.
|
2023-10-12 14:10:46 +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
|
a23112fae6
|
Added parentof.
|
2023-08-29 11:51:09 +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
|
5f1ebdcd28
|
Fixes #873
|
2023-07-23 16:14:33 +02:00 |
|
Christoffer Lerno
|
5a2fe4c9d9
|
Fix to macro codegen.
|
2023-07-19 01:34:50 +02:00 |
|
Christoffer Lerno
|
dddeca1856
|
Remove assert(try). Prevent nextcase with expression if there is no switch. Fix issue with multiple declarations and compile time variables. Nextcase default. Dropped support for non-const-int ranges.
|
2023-07-11 01:04:35 +02:00 |
|
Christoffer Lerno
|
bbbcd9bf48
|
Updated name mangling for static vars in llvm.
|
2023-07-04 01:12:39 +02:00 |
|
Christoffer Lerno
|
70ea6ce04b
|
Fix #806, and also makes sure that things like FOO.x.a is a compile time value.
|
2023-07-01 16:29:17 +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
|
3e54d13b62
|
Prefer def
|
2023-06-02 20:08:45 +02:00 |
|
Christoffer Lerno
|
b794c893d6
|
Dynamic dispatch.
|
2023-05-25 22:28:45 +02:00 |
|
Christoffer Lerno
|
172d561f07
|
Change syntax of $if, $assert, $include, $echo. Introduces $error
|
2023-05-06 12:18:00 +02:00 |
|
Christoffer Lerno
|
184cc19d36
|
Further grammar fixes.
|
2023-04-28 19:11:57 +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
|
9c145996b0
|
$elif deprecated.
|
2023-03-20 16:54:45 +01:00 |
|
Christoffer Lerno
|
5ee0d52ff1
|
Deprecate :; in $if etc.
|
2023-03-20 01:03:54 +01:00 |
|
Christoffer Lerno
|
b94c647ead
|
Distinct String
|
2023-03-08 14:32:07 +01:00 |
|
Christoffer Lerno
|
9b81623680
|
Make string literals default to char[]
|
2023-03-08 11:24:11 +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
|
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
|
df77b692d6
|
Support "typedef"
|
2023-02-14 16:49:27 +01:00 |
|
Christoffer Lerno
|
926dbfc535
|
Fix "int $f = 1;" and int $f;
|
2023-02-07 00:22:31 +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
|
539d733ceb
|
Remove LLVM 14 support. Simplify ABI lowering.
|
2023-01-30 12:39:04 +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
|
f46697bc54
|
Updated casts (#684)
Cast code rework. Remove llvm_set_bool and friends.
|
2022-12-27 14:16:47 +01:00 |
|
Christoffer Lerno
|
1ea5625183
|
CT variables now follow CT scopes. It's now allowed to mutate CT variables in deeper runtime scopes.
|
2022-12-07 16:32:45 +01:00 |
|
Christoffer Lerno
|
963b8f28ef
|
Fix of multiple returns in macros retaining ct values. Correctly require ; after endfor etc.
|
2022-12-06 20:09:40 +01:00 |
|
Christoffer Lerno
|
da1a45f718
|
Remove iptrdiff and uptrdiff. Bump version to 0.3.100
|
2022-11-17 23:44:54 +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
|
b1ed066e55
|
Fix coerce store / load to properly rely on alloc size like Clang does it. Version bump.
|
2022-10-15 22:12:52 +02:00 |
|