aboutsummaryrefslogtreecommitdiff
path: root/src/check_expr.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Try `try` and `or_else` built-in procedures with operators `try` and `try else`gingerBill2021-07-041-0/+192
|
* [Experimental] Add 'try' and `or_else' built-in proceduresgingerBill2021-07-041-43/+28
|
* Support compound literals for `struct #raw_union` typesgingerBill2021-06-261-4/+48
|
* Fix double evaluation bug with selector call expressions `x->y(z)`gingerBill2021-06-161-4/+27
|
* Correct minimum dependency for `complex32`gingerBill2021-06-081-0/+9
|
* Add support for `Addressing_OptionalOkPtr`gingerBill2021-06-061-19/+28
| | | | Allowing for `i, ok := &x.(T);` (type assertions) and `v, ok := &m[k];` (map indexing)
* Improve error message for addressing a swizzle intermediate array valuegingerBill2021-06-051-0/+4
|
* Experimental support for inline swizzling for array types of len <= 4 e.g. ↵gingerBill2021-06-051-0/+88
| | | | `v.xyz`, `v.argb`, `v.xxx`
* Fix #998gingerBill2021-05-311-0/+10
|
* Fix polymorphic record "too few" lacking error messagegingerBill2021-05-311-2/+10
|
* Fix `..=` logic in the backendgingerBill2021-05-211-1/+1
|
* Add range-based error messages to `-verbose-errors`gingerBill2021-05-191-8/+9
| | | | | | | | Example: Cannot convert '(1 + 2)' to 'untyped bool' from 'untyped integer' x := (1 + 2) * true; ^~~~~~^
* Improve untyped to typed logic for aiding the backendgingerBill2021-05-161-2/+21
|
* Add concrete type information for untyped values as procedure argumentsgingerBill2021-05-161-0/+6
|
* Fix #988gingerBill2021-05-161-0/+1
|
* Allow `..=` alongside `..` as a "full range" operator; Update ↵gingerBill2021-05-161-3/+4
| | | | `core:odin/parser` etc
* Remove old dead codegingerBill2021-05-151-72/+0
|
* Fix #987gingerBill2021-05-151-1/+1
|
* Disallow slicing of constant valuesgingerBill2021-05-151-3/+10
|
* Add minor ignoring hint on type assertions to get better code generation ↵gingerBill2021-05-131-0/+20
| | | | with no optimizations enabled
* Fix #741gingerBill2021-05-131-1/+3
|
* Improve error message to "fix" #640gingerBill2021-05-121-1/+1
|
* Fix #713gingerBill2021-05-121-2/+8
|
* Fix #651gingerBill2021-05-121-2/+11
|
* Remove unused hintgingerBill2021-05-061-4/+0
|
* Improve type inference system to allow `&{}` alongside `&T{}` in some casesgingerBill2021-05-061-1/+6
|
* Improve type inference rules for implicit selector expressionsgingerBill2021-05-061-68/+110
| | | | | | New improvements: `(.A == x)` `a_union_containing_many_enums = .A;`
* Unify `AstTernaryExpr` with `AstTernaryIfExpr`gingerBill2021-05-051-105/+15
| | | | | Allow for both syntaxes `x if cond else y` and `cond ? x : y` Removes the confusing semantics behind `?:` which could be `if` or `when` depending on the context.
* Improve ternary expression logic within parametric polymorphic parameter ↵gingerBill2021-05-051-1/+34
| | | | assignments
* Disallow unnamed polymorphic recordsgingerBill2021-04-291-0/+31
|
* Fix #893gingerBill2021-04-271-2/+3
|
* Remove warning for "Redundant 'auto_cast' applied to expression"gingerBill2021-04-261-1/+1
|
* Remove `use_llvm_api` related checks and other related thingsgingerBill2021-04-251-4/+0
|
* Remove old procedure ABI codegingerBill2021-04-251-8/+0
|
* Move `check_builtin_procedure` to check_builtin.cppgingerBill2021-04-231-2805/+1
|
* Warn on redundant `auto_cast`, and make an error on `-vet`gingerBill2021-04-221-0/+9
|
* Add intrinsics: overflow_add, overflow_sub, overflow_mul; Change byte swap ↵gingerBill2021-04-221-19/+96
| | | | behaviour in -llvm-api to be the same as the intrinsic
* Add intrinsics: byte_swap (integers and floats); count_ones; trailing_zeros; ↵gingerBill2021-04-221-3/+37
| | | | reverse_bits
* Remove `intrinsics.x86_mmx` typegingerBill2021-04-221-3/+0
|
* Add new intrinsics: debug_trap, trap, read_cycle_counter, expectgingerBill2021-04-221-1/+66
|
* Remove useless error message for constant binary expressions with ↵gingerBill2021-04-211-15/+11
| | | | non-constant operations
* Fix typogingerBill2021-04-191-1/+1
|
* Add code that was accidentally removedgingerBill2021-04-191-0/+2
|
* Improve `#optional_ok` logic for procedures; Add `#optional_second` for ↵gingerBill2021-04-191-99/+111
| | | | `package runtime` usage
* Allow assignment of procedure calls with `#optional_ok` to single valuesgingerBill2021-04-191-9/+23
|
* Allow casting of `#optional_ok` call expressionsgingerBill2021-04-191-1/+22
|
* Fix `update_expr_type` behaviour, along with fixing procedure groups ↵gingerBill2021-04-191-10/+48
| | | | updating the proc expr type
* Fix `override_entity_in_scope `behaviour to correctly to report the changes ↵gingerBill2021-04-191-3/+0
| | | | upstream better
* Add `@(cold)` attribute to procedure declarationsgingerBill2021-04-141-15/+15
|
* Allow `intrinsics` entities to be exported from other packages if wantedgingerBill2021-04-131-1/+1
|