| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Naïve optimization of named _split_ multiple return valued when `defer` is ↵ | gingerBill | 2022-11-25 | 1 | -0/+3 |
| | | | | | | | | | | | never used This is a naïve optimization but it helps a lot in the general case where callee temporary stack variables are not allocated to represent the named return values by using that specific memory. In the future, try to check if a specific named return value is ever used a `defer` within a procedure or not, or is ever passed to a nested procedure call (e.g. possibly escapes). | ||||
| * | Improve error messages with 'using _' | Lucas Perlind | 2022-10-15 | 1 | -1/+5 |
| | | |||||
| * | Disable buggy escape analysis | gingerBill | 2022-09-08 | 1 | -0/+2 |
| | | |||||
| * | Improve basic escape analysis | gingerBill | 2022-09-02 | 1 | -7/+4 |
| | | |||||
| * | Fix #1977 | gingerBill | 2022-08-26 | 1 | -0/+6 |
| | | |||||
| * | Check for `using` variables | gingerBill | 2022-08-26 | 1 | -1/+1 |
| | | |||||
| * | Correct `check_expr_is_stack_variable` | gingerBill | 2022-08-24 | 1 | -1/+2 |
| | | |||||
| * | Add very basic escape analysis on `return` values | gingerBill | 2022-08-24 | 1 | -0/+39 |
| | | |||||
| * | Make `unreachable()` a built-in compiler-level procedure | gingerBill | 2022-08-05 | 1 | -5/+8 |
| | | |||||
| * | Improve error message with suggestion for #1866 | gingerBill | 2022-06-28 | 1 | -1/+20 |
| | | |||||
| * | Improve missing handled results for built in procedures | gingerBill | 2022-05-30 | 1 | -10/+36 |
| | | |||||
| * | Correct `@(require_results)` on parapoly procedures | gingerBill | 2022-05-30 | 1 | -5/+5 |
| | | |||||
| * | Disallow `@(thread_local)` on wasm targets | gingerBill | 2022-02-28 | 1 | -1/+4 |
| | | |||||
| * | Improve printing for unhandled cases by adding a new line before the cases | gingerBill | 2022-02-05 | 1 | -1/+1 |
| | | |||||
| * | Minor clean up | gingerBill | 2022-02-05 | 1 | -1/+1 |
| | | |||||
| * | Correct `add_to_seen_map` logic | gingerBill | 2022-02-05 | 1 | -3/+3 |
| | | |||||
| * | Add `#partial [Enum]Type{...}` support to check for missing enumerated array ↵ | gingerBill | 2022-02-05 | 1 | -88/+2 |
| | | | | | fields | ||||
| * | Add `#no_type_assert` and `#type_assert` to disable implicit type assertions ↵ | gingerBill | 2022-01-27 | 1 | -0/+8 |
| | | | | | with `x.(T)` | ||||
| * | Add mutex guards for signature scopes | gingerBill | 2022-01-10 | 1 | -1/+1 |
| | | |||||
| * | Revert fix #1344 | gingerBill | 2022-01-03 | 1 | -32/+0 |
| | | |||||
| * | Fix #1344 | gingerBill | 2022-01-03 | 1 | -0/+32 |
| | | |||||
| * | Disallow `@(static)` and `@(thread_local)` within `defer` statements | gingerBill | 2021-12-17 | 1 | -0/+7 |
| | | |||||
| * | Remove `scope` field from `Ast` | gingerBill | 2021-11-14 | 1 | -8/+6 |
| | | |||||
| * | Begin minimizing `Ast` size | gingerBill | 2021-11-14 | 1 | -1/+1 |
| | | |||||
| * | Move more things to `PtrMap` | gingerBill | 2021-11-05 | 1 | -5/+4 |
| | | |||||
| * | Correct ternary if expression type determination | gingerBill | 2021-10-22 | 1 | -2/+0 |
| | | |||||
| * | Correct update propagation of type for ternary if expressions | gingerBill | 2021-10-22 | 1 | -0/+2 |
| | | |||||
| * | `ERROR_BLOCK()` any usages of "Did you mean?" like behaviour whilst ↵ | gingerBill | 2021-08-27 | 1 | -0/+4 |
| | | | | | iterating across a scope entry map | ||||
| * | Correct race condition and incorrect usage of `condition_signal` outside of ↵ | gingerBill | 2021-08-26 | 1 | -0/+1 |
| | | | | | a mutex lock | ||||
| * | Correct procedure checking flag handling, and correct the (bodge) handle of ↵ | gingerBill | 2021-08-23 | 1 | -0/+3 |
| | | | | | unchecked procedure bodies | ||||
| * | Fix bug in `check_is_terminating` | gingerBill | 2021-08-23 | 1 | -0/+3 |
| | | |||||
| * | Add suggestions when trying to take the address the a value from a ↵ | gingerBill | 2021-08-23 | 1 | -4/+7 |
| | | | | | `for`/`switch` statement | ||||
| * | Fix deadlock caused by typo | gingerBill | 2021-08-19 | 1 | -1/+1 |
| | | |||||
| * | Improve parsing for `or_return`; allow `#force_inline foo() or_return;` | gingerBill | 2021-08-16 | 1 | -15/+0 |
| | | |||||
| * | Correct `or_return` logic for debug printing and expression is not used checking | gingerBill | 2021-08-16 | 1 | -4/+21 |
| | | |||||
| * | Reduce superfluous error messages for return statements expecting not-1 ↵ | gingerBill | 2021-08-07 | 1 | -1/+15 |
| | | | | | return values | ||||
| * | Temporarily disable `-threaded-checker`; Restructure the untyped-expr-info ↵ | gingerBill | 2021-07-13 | 1 | -2/+2 |
| | | | | | system to be much more thread-friendly | ||||
| * | Add experimental support for a threaded semantic checker to `-threaded-checker` | gingerBill | 2021-07-10 | 1 | -3/+3 |
| | | |||||
| * | Improve CheckerContext usage | gingerBill | 2021-07-10 | 1 | -5/+5 |
| | | |||||
| * | Allow `x in ptr_to_map_or_bit_set` | gingerBill | 2021-07-10 | 1 | -1/+2 |
| | | |||||
| * | [Experimental] Add 'try' and `or_else' built-in procedures | gingerBill | 2021-07-04 | 1 | -1/+1 |
| | | |||||
| * | Improve logic for diverging procedures by checking if it terminates | gingerBill | 2021-06-16 | 1 | -5/+18 |
| | | |||||
| * | Add unreachable detection for deferred statements in a scope which contains ↵ | gingerBill | 2021-06-16 | 1 | -0/+44 |
| | | | | | | | | | | | | a diverging procedure call ```odin { defer foo(); // Unreachable defer statement due to diverging procedure call at the end of the current scope os.exit(0); } ``` | ||||
| * | Allow trivial optimizations for switch statements of `typeid` | gingerBill | 2021-06-09 | 1 | -2/+2 |
| | | |||||
| * | Experimental support for inline swizzling for array types of len <= 4 e.g. ↵ | gingerBill | 2021-06-05 | 1 | -0/+3 |
| | | | | | `v.xyz`, `v.argb`, `v.xxx` | ||||
| * | Be a little more correct with the temporary Ast node | gingerBill | 2021-05-19 | 1 | -3/+3 |
| | | |||||
| * | Add range-based error messages to `-verbose-errors` | gingerBill | 2021-05-19 | 1 | -1/+1 |
| | | | | | | | | | Example: Cannot convert '(1 + 2)' to 'untyped bool' from 'untyped integer' x := (1 + 2) * true; ^~~~~~^ | ||||
| * | Add suggestion for unused expression on `x == y` | gingerBill | 2021-05-19 | 1 | -0/+22 |
| | | | | | | | Expression is not used: 'x == 123' Suggestion: Did you mean to do an assignment? 'x = 123;' | ||||
| * | Improve untyped to typed logic for aiding the backend | gingerBill | 2021-05-16 | 1 | -1/+5 |
| | | |||||
| * | Allow `..=` alongside `..` as a "full range" operator; Update ↵ | gingerBill | 2021-05-16 | 1 | -0/+1 |
| | | | | | `core:odin/parser` etc | ||||