aboutsummaryrefslogtreecommitdiff
path: root/src/check_expr.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Change `tav` to be a pointer internally"gingerBill2022-12-221-34/+34
| | | | This reverts commit e98f1a28e68e82753728f58b3465793192b74f9d.
* Change `tav` to be a pointer internallygingerBill2022-12-221-34/+34
|
* Remove dead code in the compilergingerBill2022-12-181-24/+0
|
* Add `gb_internal` to checkergingerBill2022-12-181-167/+167
|
* Replace compiler for loops for the hash-table types to simplify code usagegingerBill2022-12-091-14/+11
|
* Naïve optimization of named _split_ multiple return valued when `defer` is ↵gingerBill2022-11-251-0/+3
| | | | | | | | | | 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).
* Fix #2109gingerBill2022-11-211-0/+1
|
* Fix #2186gingerBill2022-11-211-10/+7
|
* Fix #2197gingerBill2022-11-211-0/+18
|
* Fix #2201gingerBill2022-11-211-16/+21
|
* Fix #2125gingerBill2022-11-211-0/+3
|
* Revert "Minor improvement to multi return value reducing stack usage"gingerBill2022-11-131-3/+0
|
* Minor improvement to multi return value reducing stack usagegingerBill2022-11-131-0/+3
|
* Begin work on map static setgingerBill2022-11-111-16/+36
|
* Allow for `-use-static-map-calls` which generates a get procedure per `map`; ↵gingerBill2022-11-081-2/+13
| | | | add `runtime.map_get`
* Remove the need for `type->Map.internal_type` and replace with the ↵gingerBill2022-11-081-1/+0
| | | | definition of `runtime.Raw_Map`
* Begin work on implementing the new `map` internalsgingerBill2022-11-071-1/+0
|
* check addressing mode insteadJasperGeer2022-10-261-2/+2
|
* don't suggest u8 slice cast to string for u8 slice literalJasperGeer2022-10-231-2/+2
|
* throw type checker error when scalar cast to non-square matrixJasper Geer2022-10-211-5/+6
|
* Allow `transmute` to be constant for integers of the same internal endiannessgingerBill2022-10-191-10/+51
|
* Fix #2016 when passing an untyped integer to a generic `typeid` parametergingerBill2022-10-111-1/+7
|
* Improve error message for slicing an enumerated arraygingerBill2022-09-221-1/+14
|
* Improve suggestions for certain assignmentsgingerBill2022-09-221-1/+13
|
* Minor style changegingerBill2022-09-221-3/+2
|
* Improve error message for `check_is_expressible` (Cannot convert X to Y from Z)gingerBill2022-09-221-3/+6
|
* Improve error messages for compile time known bounds checkinggingerBill2022-09-221-4/+8
|
* Correct parapoly determination of generated internal type of a `map`gingerBill2022-09-221-1/+7
|
* Improve parapoly support for `^T` to `[^]$V` and vice versagingerBill2022-09-201-0/+12
|
* Fixed #2044 Uninitialised constant struct member values can cause crashgingerBill2022-09-171-1/+7
| | | | | | | | | | | | | | 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
* Fix #1992 `size_of` a relative slice crashes the compilergingerBill2022-09-051-0/+1
|
* Fix #2017 mismatched types in binary matrix expression for `flt * (mat * vec)`gingerBill2022-09-051-1/+4
|
* Fix #2018 type assertion on untyped nil within a ternary if expressiongingerBill2022-09-051-7/+8
|
* Remove redundant codeJasperGeer2022-09-041-9/+3
|
* Remove unnecessary orJasperGeer2022-09-041-2/+2
|
* Err on types passed as operands to ternary if expressionsJasperGeer2022-09-041-0/+14
|
* Fix code generation related to Objective-C related `x->y()` callsgingerBill2022-09-011-1/+4
|
* Improve `matrix` conversion rulesgingerBill2022-08-161-0/+4
|
* Allow for chaining of '#load(path) or_else #load(path)'gingerBill2022-08-111-26/+29
|
* Improve type hint for #load to allow for string typesgingerBill2022-08-111-6/+8
|
* Add `#load(path) or_else default` in favour of `#load_or(path, default)`gingerBill2022-08-111-2/+68
|
* Added back missing return statementJasper Yujin Geer2022-08-101-1/+1
|
* More accurate error messageJasper Yujin Geer2022-08-101-3/+3
|
* Throw error when untyped shift expressions have non-integral type hintsJasper Yujin Geer2022-08-101-4/+13
|
* Add `#soa` pointer type to aid with refactoring to `#soa` data typesgingerBill2022-08-081-5/+17
| | | | | | | | a: #soa[16]Foo p := &a[6] #assert(type_of(p) == #soa^#soa[16]Foo) p^.x = 123 p.x = 123
* Allow for `foo() or_else unreachable()` and other diverging proceduresgingerBill2022-08-051-3/+23
|
* Fix #1901gingerBill2022-07-241-1/+1
|
* Fix #1493gingerBill2022-07-241-2/+8
|
* Fix #1883gingerBill2022-07-161-14/+21
|
* Fix #1888gingerBill2022-07-161-2/+6
|