Commit Graph

718 Commits

Author SHA1 Message Date
gingerBill
25bec19b1f Revert "Minor improvement to multi return value reducing stack usage" 2022-11-13 23:56:05 +00:00
gingerBill
a705a2e38b Minor improvement to multi return value reducing stack usage 2022-11-13 22:55:32 +00:00
gingerBill
16fc961010 Begin work on map static set 2022-11-11 14:45:22 +00:00
gingerBill
a71daee545 Allow for -use-static-map-calls which generates a get procedure per map; add runtime.map_get 2022-11-08 14:58:05 +00:00
gingerBill
810a1eee41 Remove the need for type->Map.internal_type and replace with the definition of runtime.Raw_Map 2022-11-08 11:13:46 +00:00
gingerBill
c96e0afbf1 Begin work on implementing the new map internals 2022-11-07 23:02:21 +00:00
JasperGeer
4b8721a0bb check addressing mode instead 2022-10-26 10:11:10 -04:00
JasperGeer
1a0930f841 don't suggest u8 slice cast to string for u8 slice literal 2022-10-23 19:41:07 -04:00
Jasper Geer
989107094c throw type checker error when scalar cast to non-square matrix 2022-10-21 15:41:58 -04:00
gingerBill
098f51aa80 Allow transmute to be constant for integers of the same internal endianness 2022-10-19 16:59:38 +01:00
gingerBill
047d45584e Fix #2016 when passing an untyped integer to a generic typeid parameter 2022-10-11 21:21:56 +01:00
gingerBill
6fe1825db9 Improve error message for slicing an enumerated array 2022-09-22 00:47:23 +01:00
gingerBill
b15968f140 Improve suggestions for certain assignments 2022-09-22 00:42:03 +01:00
gingerBill
0ddf1bf660 Minor style change 2022-09-22 00:36:31 +01:00
gingerBill
dade5b5ef2 Improve error message for check_is_expressible (Cannot convert X to Y from Z) 2022-09-22 00:34:36 +01:00
gingerBill
3aea9a7c20 Improve error messages for compile time known bounds checking 2022-09-22 00:30:10 +01:00
gingerBill
8c3f01fbfa Correct parapoly determination of generated internal type of a map 2022-09-22 00:05:11 +01:00
gingerBill
eb7a9c55b0 Improve parapoly support for ^T to [^]$V and vice versa 2022-09-20 22:47:53 +01:00
gingerBill
99a1a10286 Fixed #2044 Uninitialised constant struct member values can cause crash
Foo :: struct {
    x: i32,
    data: sa.Small_Array(10, i32),
}

defaultFoo :: Foo{
    x = 1,
    // The 'data' value is not set!
}

fmt.println(defaultFoo.data) // caused the bug
2022-09-17 11:01:56 +01:00
gingerBill
b1dafcfe6d Fix #1992 size_of a relative slice crashes the compiler 2022-09-05 16:40:57 +01:00
gingerBill
4998cf80c1 Fix #2017 mismatched types in binary matrix expression for flt * (mat * vec) 2022-09-05 16:35:56 +01:00
gingerBill
37e23133e9 Fix #2018 type assertion on untyped nil within a ternary if expression 2022-09-05 16:06:40 +01:00
JasperGeer
17894add95 Remove redundant code 2022-09-04 16:37:40 -04:00
JasperGeer
23d93f6846 Remove unnecessary or 2022-09-04 16:17:29 -04:00
JasperGeer
2e3dd8dd0b Err on types passed as operands to ternary if expressions 2022-09-04 15:31:05 -04:00
gingerBill
ed73441a4c Fix code generation related to Objective-C related x->y() calls 2022-09-01 15:11:53 +01:00
gingerBill
2c004dbcc9 Improve matrix conversion rules 2022-08-16 12:02:14 +01:00
gingerBill
cecadce86d Allow for chaining of '#load(path) or_else #load(path)' 2022-08-11 14:42:29 +01:00
gingerBill
70dc0c15fd Improve type hint for #load to allow for string types 2022-08-11 13:43:35 +01:00
gingerBill
38102f14c1 Add #load(path) or_else default in favour of #load_or(path, default) 2022-08-11 13:01:54 +01:00
Jasper Yujin Geer
57dd5ec4db Added back missing return statement 2022-08-10 18:25:29 -07:00
Jasper Yujin Geer
5b621d5be1 More accurate error message 2022-08-10 18:07:49 -07:00
Jasper Yujin Geer
7aee762f3a Throw error when untyped shift expressions have non-integral type hints 2022-08-10 17:39:21 -07:00
gingerBill
5e3cf45df3 Add #soa pointer type to aid with refactoring to #soa data types
a: #soa[16]Foo
p := &a[6]
#assert(type_of(p) == #soa^#soa[16]Foo)
p^.x = 123
p.x = 123
2022-08-08 15:07:00 +01:00
gingerBill
a58e4d0359 Allow for foo() or_else unreachable() and other diverging procedures 2022-08-05 12:19:57 +01:00
gingerBill
0ebe9ba487 Fix #1901 2022-07-24 22:51:34 +01:00
gingerBill
9f10487678 Fix #1493 2022-07-24 12:59:34 +01:00
gingerBill
eafa5098aa Fix #1883 2022-07-16 18:03:43 +01:00
gingerBill
041625381c Fix #1888 2022-07-16 17:36:03 +01:00
gingerBill
abe122ecb7 Implement #1859 2022-06-26 13:13:07 +01:00
gingerBill
bb7f291f5f Remove simd_rem; Disallow simd_div for integers 2022-06-02 12:10:43 +01:00
gingerBill
5b42dd7707 Correct @(require_results) on parapoly procedures 2022-05-30 15:27:09 +01:00
gingerBill
d0e8a735ba Add arithmetic operator support for simd vectors; Add intrinsics.simd_and_not 2022-05-26 17:09:46 +01:00
gingerBill
208226dba2 Improve #simd literal support 2022-05-26 14:55:10 +01:00
gingerBill
f308f37ba1 Remove need for simd.splat 2022-05-26 14:51:50 +01:00
gingerBill
63cc8a80a0 Correct parapoly for #simd 2022-05-25 21:29:45 +01:00
gingerBill
1549d01bf7 Restrict swizzle to a power of two for #simd 2022-05-25 21:17:21 +01:00
gingerBill
0203bb657e Allow for non-constant simd vector compound types 2022-05-25 20:39:22 +01:00
gingerBill
53f0c6ef1a Add ranges for simd compounds literals 2022-05-25 20:31:31 +01:00
gingerBill
f21e9ee712 Allow basic casting of simd vectors 2022-05-25 18:59:47 +01:00