aboutsummaryrefslogtreecommitdiff
path: root/src/check_expr.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
|
* Implement fixed-point arithmetic intrinsics for -llvm-api backendgingerBill2021-04-011-0/+71
|
* Fix missing complex32/quaternion64 checksgingerBill2021-04-011-0/+2
|
* Add min(f16) and max(f16) supportgingerBill2021-04-011-0/+6
|
* Implement `f16` functionalitygingerBill2021-04-011-3/+23
|
* Refactor record polymorphic params code for unificationgingerBill2021-03-271-1/+2
|
* Fix #883 - polymorphic specialization with target types of enumerated arraysgingerBill2021-03-271-0/+60
|
* Implement `soa_unzip`gingerBill2021-03-241-0/+34
|
* Add type hinting to `soa_zip`gingerBill2021-03-241-6/+49
|
* `soa_zip` (-llvm-api only): creates an `#soa[]struct` from passed slicesgingerBill2021-03-241-2/+114
| | | | | | | | | | | | x := []i32{1, 3, 9}; y := []f32{2, 4, 16}; z := []b32{true, false, true}; s_anonymous := soa_zip(x, y, z); assert(s_anonymous[0]._1 == 2); s_named := soa_zip(a=x, b=y, c=z); assert(s_anonymous[0].b == 2);
* For `bit_set`, allow `+` and `-` to be aliases for `|` and `&~`, respectivelygingerBill2021-03-231-2/+15
|
* Remove dead codegingerBill2021-03-231-75/+0
|
* Add `intrinsics.volatile_store` and `intrinsics.volatile_load`gingerBill2021-03-091-0/+8
|
* Minimize TokenPos size by using `i32` for line/column/offset and file_id ↵gingerBill2021-03-041-5/+4
| | | | | | instead of `String` To make `i32` safe, the parser limits the file size of odin files to a maximum of 2GiB (which will be good enough for the vast vast majority of cases)
* Add `-vet-extra` (checks for unneeded casts and transmutes)gingerBill2021-03-031-0/+16
|
* Fix Addressing for SOA on store; Add intrinsics.type_struct_field_count(T)gingerBill2021-03-011-0/+14
|
* Fix patch (yeah... I know)gingerBill2021-02-261-28/+8
|
* Patch issue with minimum dependency system and how it interacts with para ↵gingerBill2021-02-261-11/+58
| | | | poly procedures
* Build tag to make all declarations within a file private to the package ↵gingerBill2021-02-231-3/+4
| | | | `//+private`
* Remove `#opaque` typesgingerBill2021-02-231-22/+0
|
* Remove `bit_field` keyword and parsing logicgingerBill2021-02-231-16/+0
|
* Remove `"pure"` and `"pure_none"` calling conventionsgingerBill2021-02-231-23/+6
|
* Remove `bit_field` type from Odin (keyword and dead runtime code still exists)gingerBill2021-02-191-68/+0
|
* Fix #831gingerBill2021-01-271-0/+51
|
* Allow `check_expr_with_type_hint` to allow assignment of types to typeid ↵gingerBill2020-12-171-1/+3
| | | | without requiring `typeid_of`
* Fix #811gingerBill2020-12-141-1/+3
|
* If `ir_type_requires_mem_zero` is stored with zero, don't store again with ↵gingerBill2020-12-081-0/+65
| | | | the `zeroinitializer`
* Allow nested procedures to access `@(static)` and `@(thread_local)` variablesgingerBill2020-12-041-2/+4
|
* Change ExactValue layout for complex/quaternion types to minimize its sizegingerBill2020-12-031-10/+10
|
* Disable `lb_const_hash` for the time beinggingerBill2020-12-021-0/+1
|
* Add `intrinsics.type_hasher_proc`; Make `map` work with generic hasher proceduregingerBill2020-11-291-1/+24
|
* Add intrinsics.type_equal_proc; Make `map` use an internal equal procedure ↵gingerBill2020-11-291-0/+21
| | | | to compare keys
* Update check_expr.cppDan Bechard2020-11-201-1/+1
| | | Fixed typo in error message `procedure all` -> `procedure call`
* Fix casting of untyped stringsgingerBill2020-11-201-1/+12
|
* Support string literals for fixed arrays of runes; Add %q support for ↵gingerBill2020-11-201-3/+10
| | | | arrays/slices of bytes