gingerBill
9b278db993
Revert "Change tav to be a pointer internally"
...
This reverts commit e98f1a28e6 .
2022-12-22 12:01:41 +00:00
gingerBill
e98f1a28e6
Change tav to be a pointer internally
2022-12-22 11:53:13 +00:00
gingerBill
c1f5be24e2
Remove dead code in the compiler
2022-12-18 22:49:10 +00:00
gingerBill
690666537c
Add gb_internal to checker
2022-12-18 21:46:27 +00:00
gingerBill
34a048f7da
Replace compiler for loops for the hash-table types to simplify code usage
2022-12-09 11:29:28 +00:00
gingerBill
d88b052d2d
Naïve optimization of named _split_ multiple return valued when defer is never used
...
This is a naïve optimization but it helps a lot in the general case where callee temporary stack variables
are not allocated to represent the named return values by using that specific memory.
In the future, try to check if a specific named return value is ever used a `defer` within a procedure or not,
or is ever passed to a nested procedure call (e.g. possibly escapes).
2022-11-25 23:57:55 +00:00
gingerBill
6fa0679be9
Fix #2109
2022-11-21 13:12:44 +00:00
gingerBill
0b33df4e9d
Fix #2186
2022-11-21 11:30:21 +00:00
gingerBill
824b97d250
Fix #2197
2022-11-21 11:14:29 +00:00
gingerBill
83558a1352
Fix #2201
2022-11-21 11:01:01 +00:00
gingerBill
27d56d0da4
Fix #2125
2022-11-21 10:25:34 +00:00
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