aboutsummaryrefslogtreecommitdiff
path: root/src/check_expr.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
|
* Fix SelectorCallExpr with no return valuesgingerBill2020-05-221-1/+3
|
* Selector Call Expressions: `x->y(123) == x.y(x, 123)`gingerBill2020-05-221-37/+168
|
* Remove the need for `type_of`, `size_of`, `align_of`, `offset_of` to be keywordsgingerBill2020-05-221-17/+0
|
* Relative pointer and relative slicesgingerBill2020-05-151-0/+26
|
* Relative pointersgingerBill2020-05-151-3/+39
|
* Enforce explicit context definition for procedure callsgingerBill2020-05-141-0/+6
|
* Fix Assertion failure in ir_print_exact_value #620gingerBill2020-05-141-7/+10
|
* Implement Explicit context creation #639gingerBill2020-05-141-0/+9
|
* Implement Allow `.?` operator to unwrap any union #549gingerBill2020-05-141-1/+20
|
* Fix #561 `where` statements that eval to false do not show incorrect usage ↵gingerBill2020-05-131-1/+31
| | | | location
* (#594) Add `#config` to replace `#defined`; Restrict `#defined` within ↵gingerBill2020-05-131-2/+47
| | | | procedure bodies to remove race condition
* Replace `entity_of_ident` with `entity_of_node`gingerBill2020-05-121-4/+4
|
* Add experimental atom op tables for llvm-backendgingerBill2020-05-021-3/+76
|
* Fix type assertion bug #619gingerBill2020-04-211-3/+2
|
* Fix `#optional_ok`; Fix `container.Array`gingerBill2020-04-191-39/+38
|