Commit Graph

56 Commits

Author SHA1 Message Date
Christoffer Lerno
a1ecf2211f as_str() replaced by str_view() 2023-09-24 23:50:16 +02:00
Christoffer Lerno
c074e79069 Bitstruct members would get partly evaluated using checks, then incorrectly reset on error. Also, copying bitstruct members were broken. This addresses #1005. 2023-09-19 18:03:20 +02:00
Christoffer Lerno
f6e18ded5b Add atomic_fetch builtins. 2023-09-15 18:07:15 +02:00
Dmitry Atamanov
d6e9985a26 Add log(x, base) function to std::math module. 2023-09-15 09:22:34 +02:00
Dmitry Atamanov
4a232b7935 Add builtin benchmarks to changelog. [skip_ci] 2023-09-14 20:58:49 +02:00
Christoffer Lerno
2eddda9061 Add gather/scatter for vectors. 2023-09-14 10:19:15 +02:00
Christoffer Lerno
b2ac4b4253 Allow use of pointers in vectors. 2023-09-13 13:45:33 +02:00
Christoffer Lerno
ca1885fe09 Updated releasenotes. 2023-09-09 22:50:25 +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
82ba02a904 Allow indexing of constant strings. Fixed reverse indexing of constant initializers. 2023-08-30 16:36:29 +02:00
Christoffer Lerno
dd0dc1a936 Allow anyfault and any aliasing. Fix any comparison. 2023-08-30 13:56:16 +02:00
Christoffer Lerno
eac19814e1 Make typeid switches always use subtype matching. Update seeder mixing. 2023-08-29 22:48:26 +02:00
Christoffer Lerno
a23112fae6 Added parentof. 2023-08-29 11:51:09 +02:00
Christoffer Lerno
69553fd80e Bitstruct designated initializer sometimes failed. This addresses. #954 2023-08-27 18:10:22 +02:00
Christoffer Lerno
d5aebb434c Eliding length for ":"-ranges is no longer allowed. 2023-08-18 22:25:51 +02:00
Christoffer Lerno
17f69d8da8 Update slice assign so that it looks at the arguments and does slice copying or splat assign as needed. 2023-08-18 18:46:38 +02:00
Christoffer Lerno
f912e53038 Fix where designated initializers had optional arguments. See #923 2023-08-13 20:57:50 +02:00
Christoffer Lerno
3e765a3f3e Hash maps now copy keys if keys are copyable. 2023-08-10 21:14:24 +02:00
Christoffer Lerno
951a9f2b43 Fix of ++ and -- on bitstructs. 2023-08-10 18:01:50 +02:00
Christoffer Lerno
6d870fbef0 Fix for arithmetic promotion of aliases. Some work towards $exec scripting. 2023-08-10 17:14:29 +02:00
Christoffer Lerno
01a89e2145 Fix bug where library source files were sometimes ignored. 2023-08-09 21:34:58 +02:00
Christoffer Lerno
2ca67d1489 Fix void[] -> char[] cast. 2023-08-09 01:03:06 +02:00
Christoffer Lerno
91bb31856b Introduce initial $exec. 2023-08-07 19:43:57 +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
fc0973f378 Fix issue casting an untyped list. Addresses #908. 2023-08-02 23:03:50 +02:00
Christoffer Lerno
8a9522a363 Updated release notes. 2023-07-31 10:43:15 +02:00
Christoffer Lerno
499c82b089 Updated indentation to C3 standard. 2023-07-26 14:01:24 +02:00
Christoffer Lerno
11eb187fee Allow init from slices: float[4] x = foo[:4] 2023-07-16 01:23:12 +02:00
Christoffer Lerno
8a4e6f7dd3 Fix bug where @local declarations would get registered as @private for generic modules. #856. Update to consistent tab spacing. 2023-07-15 19:27:24 +02:00
Christoffer Lerno
34306cbf5d Fixes missing checks to body arguments. Do not create debug declaration for value-only parameter. Bug in alignment for atomics. Macro ref parameters are pointers. 2023-07-15 15:11:44 +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
c99f298cad Fix issue where rethrow in a macro not allowing optional caused an assert to trigger. #849 2023-07-13 12:34:15 +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
9543fbbf1c Exhaustive switch on enums. This addresses #838 2023-07-09 01:18:01 +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
b74de0b1e4 Fix issue where array comparison would emit the wrong basic block reference to phi when underlying comparison would emit a block. 2023-07-06 20:29:00 +02:00
Christoffer Lerno
45820d45e5 Allow using inferred type on method first parameter. 2023-07-01 22:47:54 +02:00
Christoffer Lerno
57c8b5fc75 Fix on rethrow + macros. 2023-06-27 20:41:17 +02:00
Christoffer Lerno
f651a59294 Fix on rethrow + macros. 2023-06-27 13:19:28 +02:00
Christoffer Lerno
be04473af4 Name change, some updates using "from end" indexing. 2023-06-24 18:21:16 +02:00
Christoffer Lerno
ab93389031 - Updated posix/win32 stdlib namespacing
- Process stdlib
- Fix to void expression blocks
2023-06-21 16:27:53 +02:00
Christoffer Lerno
5c9eb264e8 Delete object files after linking. 2023-06-21 16:27:53 +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
3bdeec3bc2 Incorrect defer/return value ordering in some cases. 2023-06-18 23:25:33 +02:00
Christoffer Lerno
ea1a5435bb Dead strip on "strip unused" 2023-05-30 16:42:15 +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