| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Add range-based error messages to `-verbose-errors` | gingerBill | 2021-05-19 | 1 | -3/+3 |
| | | | | | | | | | Example: Cannot convert '(1 + 2)' to 'untyped bool' from 'untyped integer' x := (1 + 2) * true; ^~~~~~^ | ||||
| * | Remove old dead code | gingerBill | 2021-05-15 | 1 | -1/+0 |
| | | |||||
| * | Add minor ignoring hint on type assertions to get better code generation ↵ | gingerBill | 2021-05-13 | 1 | -1/+7 |
| | | | | | with no optimizations enabled | ||||
| * | Add explicit numbers to `enum AddressingMode` | gingerBill | 2021-05-12 | 1 | -16/+16 |
| | | |||||
| * | Unify `AstTernaryExpr` with `AstTernaryIfExpr` | gingerBill | 2021-05-05 | 1 | -1/+0 |
| | | | | | | 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. | ||||
| * | Add "naked" calling convention (removes prologue and epilogue) | gingerBill | 2021-04-28 | 1 | -1/+2 |
| | | |||||
| * | Move out some intrinsics into separate procedures in llvm_backend.cpp; ↵ | gingerBill | 2021-04-24 | 1 | -2/+2 |
| | | | | | Rename `InlineRangeStmt` to `UnrollRangeStmt` (eventually merge the two AST nodes) | ||||
| * | Add new intrinsics: debug_trap, trap, read_cycle_counter, expect | gingerBill | 2021-04-22 | 1 | -0/+1 |
| | | |||||
| * | Improve `#optional_ok` logic for procedures; Add `#optional_second` for ↵ | gingerBill | 2021-04-19 | 1 | -0/+1 |
| | | | | | `package runtime` usage | ||||
| * | Experiment with new grammatical parsing rule for expression level ↵ | gingerBill | 2021-03-30 | 1 | -0/+1 |
| | | | | | (-strict-style) idea | ||||
| * | Make the parser support as many identifiers on the LHS in `for in` loops to ↵ | gingerBill | 2021-03-24 | 1 | -2/+1 |
| | | | | | improve error messages | ||||
| * | Minimize TokenPos size by using `i32` for line/column/offset and file_id ↵ | gingerBill | 2021-03-04 | 1 | -1/+2 |
| | | | | | | | 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) | ||||
| * | Begin work on aarch64 ABI for `-llvm-api` | gingerBill | 2021-02-24 | 1 | -1/+1 |
| | | |||||
| * | Build tag to make all declarations within a file private to the package ↵ | gingerBill | 2021-02-23 | 1 | -0/+1 |
| | | | | | `//+private` | ||||
| * | Remove `#opaque` types | gingerBill | 2021-02-23 | 1 | -4/+0 |
| | | |||||
| * | Remove `bit_field` keyword and parsing logic | gingerBill | 2021-02-23 | 1 | -5/+0 |
| | | |||||
| * | Remove `"pure"` and `"pure_none"` calling conventions | gingerBill | 2021-02-23 | 1 | -6/+4 |
| | | |||||
| * | Add extra error checking in parser.cpp | gingerBill | 2021-01-15 | 1 | -4/+6 |
| | | |||||
| * | Allow string literals for `[N]byte` | gingerBill | 2020-11-20 | 1 | -2/+2 |
| | | |||||
| * | Update `odin doc` to support multiple package outputs by passing multiple ↵ | gingerBill | 2020-11-18 | 1 | -0/+1 |
| | | | | | | | | paths; Replace `-all` with `-short` Example: odin doc core/path core/path/filepath | ||||
| * | Begin rudimentary work on implementing `odin test` tooling with ↵ | gingerBill | 2020-11-17 | 1 | -0/+2 |
| | | | | | `*_test.odin` files | ||||
| * | Minimize memory usage for AST nodes by using Slice<T> rather than Array<T> ↵ | gingerBill | 2020-11-16 | 1 | -29/+28 |
| | | | | | when the parameter doesn't need to grow | ||||
| * | Minimize Ast flags usage | gingerBill | 2020-11-16 | 1 | -8/+8 |
| | | |||||
| * | Begin clarifying allocation patterns by changing from `heap_allocator` to ↵ | gingerBill | 2020-11-15 | 1 | -0/+1 |
| | | | | | specific arenas | ||||
| * | Inline asm expression (-llvm-api) | gingerBill | 2020-10-24 | 1 | -4/+27 |
| | | | | | | | | | | | | | 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 {...}` | ||||
| * | Begin work on making packages import assembly sort files (.S) | gingerBill | 2020-10-16 | 1 | -6/+26 |
| | | |||||
| * | Add `+build ignore` tag | gingerBill | 2020-10-15 | 1 | -0/+1 |
| | | |||||
| * | Update math and math/linalg; add "pure_none" calling convention | gingerBill | 2020-09-10 | 1 | -8/+9 |
| | | |||||
| * | Revert accidental removal of `#const` for procedure variable parameters #718 | gingerBill | 2020-08-26 | 1 | -1/+2 |
| | | |||||
| * | Remove some dead code | gingerBill | 2020-07-14 | 1 | -2/+1 |
| | | |||||
| * | Improve performance of tokenization and parsing | gingerBill | 2020-05-27 | 1 | -2/+7 |
| | | |||||
| * | Add `"pure"` procedure types | gingerBill | 2020-05-23 | 1 | -0/+1 |
| | | |||||
| * | Selector Call Expressions: `x->y(123) == x.y(x, 123)` | gingerBill | 2020-05-22 | 1 | -0/+1 |
| | | |||||
| * | Minor fixes to improve hash map/set performance | gingerBill | 2020-05-21 | 1 | -1/+1 |
| | | |||||
| * | Relative pointers | gingerBill | 2020-05-15 | 1 | -0/+4 |
| | | |||||
| * | Implement Allow `.?` operator to unwrap any union #549 | gingerBill | 2020-05-14 | 1 | -1/+1 |
| | | |||||
| * | Add experimental atom op tables for llvm-backend | gingerBill | 2020-05-02 | 1 | -0/+2 |
| | | |||||
| * | `#optional_ok` tag for procedures | gingerBill | 2020-04-19 | 1 | -0/+3 |
| | | |||||
| * | Simplify compiler's `Map` and create a `StringMap` specifically for strings | gingerBill | 2020-04-13 | 1 | -10/+10 |
| | | |||||
| * | Add extra internal memory analysis | gingerBill | 2020-04-06 | 1 | -0/+10 |
| | | |||||
| * | Merge branch 'master' into llvm-integration | gingerBill | 2020-03-05 | 1 | -2/+4 |
| |\ | |||||
| | * | `x if cond else y` and `x when cond else y` expressions | gingerBill | 2020-03-05 | 1 | -2/+4 |
| | | | |||||
| * | | Merge branch 'master' into llvm-integration | gingerBill | 2020-02-29 | 1 | -1/+2 |
| |\| | |||||
| | * | Add `proc(#const x: Type)` to enforce a constant parameter (but not ↵ | gingerBill | 2020-02-26 | 1 | -1/+2 |
| | | | | | | | | | polymorphic) to a procedure | ||||
| * | | Basic work on obj generation | gingerBill | 2020-02-23 | 1 | -1/+3 |
| | | | |||||
| * | | Anonymous procedure literal support | gingerBill | 2020-02-08 | 1 | -0/+1 |
| | | | |||||
| * | | Slowly add more statements and expressions; Add header file | gingerBill | 2020-02-05 | 1 | -4/+2 |
| |/ | |||||
| * | Add `union #maybe` | gingerBill | 2020-02-01 | 1 | -0/+1 |
| | | |||||
| * | Implement `#complete switch` by default, replace with `#partial switch` #511 | gingerBill | 2019-12-22 | 1 | -12/+12 |
| | | |||||
| * | Also allow #no_bounds_check on an expression #499 | gingerBill | 2019-12-15 | 1 | -5/+5 |
| | | |||||