aboutsummaryrefslogtreecommitdiff
path: root/src/check_expr.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
* Allow string literals for `[N]byte`gingerBill2020-11-201-0/+6
|
* Fix proc type printinggingerBill2020-11-171-0/+19
|
* Basic `odin doc` supportgingerBill2020-11-171-82/+126
|
* Minimize memory usage for AST nodes by using Slice<T> rather than Array<T> ↵gingerBill2020-11-161-12/+12
| | | | when the parameter doesn't need to grow
* Improve logic for x->y() shorthandgingerBill2020-11-151-0/+16
|
* Implement custom temporary allocator using ring buffergingerBill2020-11-151-9/+0
|
* Add SCOPED_TEMPORARY_BLOCK for temporary allocations within a blockgingerBill2020-11-151-27/+26
|
* Make `set_procedure_abi_types` use the permanent_allocatorgingerBill2020-11-151-2/+2
|
* Fix `typeid_of` buggingerBill2020-11-101-5/+21
|
* Fix default parameters on record typesgingerBill2020-11-091-10/+53
|
* Inline asm expression (-llvm-api)gingerBill2020-10-241-7/+85
| | | | | | | | | | | | See https://llvm.org/docs/LangRef.html#inline-assembler-expressions Example: ``` x := asm(i32) -> i32 { "bswap $0", "=r,r", }(123); ``` Allowed directives `#side_effect`, `#align_stack`, `#att`, `#intel` e.g. `asm() #side_effect #intel {...}`
* Add `intrinsics.type_field_index_of`gingerBill2020-10-151-0/+42
|
* Fix issue #486Joseph Battelle2020-09-161-0/+4
| | | | | | | | | | | Use `check_is_assignable_to_using_subtype` in `is_polymorphic_type_assignable`. The polymorphic procedure in #486 can now also be written without the cast: ```odin print_entity :: proc(e : ^$E, p : proc(^$T) = print_base) { p(e); } ```
* Add `intrinsics.type_has_field`gingerBill2020-09-161-0/+28
|
* Update math and math/linalg; add "pure_none" calling conventiongingerBill2020-09-101-1/+1
|
* Fix #702gingerBill2020-08-051-0/+10
|
* Add `intrinsics.alloca`gingerBill2020-08-021-0/+54
|
* Add `-no-dynamic-literals` to disallow dynamic array and map literalsgingerBill2020-07-141-5/+18
|
* Fix #696gingerBill2020-07-141-0/+8
|
* Fix Addressing_OptionalOk selector expression rules for struct field variablesgingerBill2020-07-081-6/+9
|
* Add `intrinsics.type_proc_parameter_type`; Add ↵gingerBill2020-07-011-3/+121
| | | | `intrinsics.type_proc_return_type`
* Fix LLVM code gen buggingerBill2020-06-221-2/+2
|
* Fix compound literals for constant procedure fieldsgingerBill2020-06-111-0/+3
|
* Fix #439gingerBill2020-06-101-3/+16
|
* Fix #648gingerBill2020-06-101-1/+8
|
* Update logic for slice literals, backing array to be on the stack if ↵gingerBill2020-06-081-5/+15
| | | | possible (LLVM C API)
* Improve termination rules checking for missing `return`; Make diverging ↵gingerBill2020-06-061-2/+2
| | | | procedure `-> !` be terminators
* Fix #659 Compiler error when indexing constant slicesgingerBill2020-05-311-3/+30
|
* Add intrinsics.type_is_comparable; Add sort.linear_searchgingerBill2020-05-231-0/+2
|
* Add `"pure"` procedure typesgingerBill2020-05-231-14/+32
|