aboutsummaryrefslogtreecommitdiff
path: root/src/check_stmt.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove dead code in the compilergingerBill2022-12-181-6/+0
|
* Add `gb_internal` to checkergingerBill2022-12-181-23/+23
|
* Add extra checkgingerBill2022-12-091-0/+2
|
* Replace compiler for loops for the hash-table types to simplify code usagegingerBill2022-12-091-7/+7
|
* Naïve optimization of named _split_ multiple return valued when `defer` is ↵gingerBill2022-11-251-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 Perlind2022-10-151-1/+5
|
* Disable buggy escape analysisgingerBill2022-09-081-0/+2
|
* Improve basic escape analysisgingerBill2022-09-021-7/+4
|
* Fix #1977gingerBill2022-08-261-0/+6
|
* Check for `using` variablesgingerBill2022-08-261-1/+1
|
* Correct `check_expr_is_stack_variable`gingerBill2022-08-241-1/+2
|
* Add very basic escape analysis on `return` valuesgingerBill2022-08-241-0/+39
|
* Make `unreachable()` a built-in compiler-level proceduregingerBill2022-08-051-5/+8
|
* Improve error message with suggestion for #1866gingerBill2022-06-281-1/+20
|
* Improve missing handled results for built in proceduresgingerBill2022-05-301-10/+36
|
* Correct `@(require_results)` on parapoly proceduresgingerBill2022-05-301-5/+5
|
* Disallow `@(thread_local)` on wasm targetsgingerBill2022-02-281-1/+4
|
* Improve printing for unhandled cases by adding a new line before the casesgingerBill2022-02-051-1/+1
|
* Minor clean upgingerBill2022-02-051-1/+1
|
* Correct `add_to_seen_map` logicgingerBill2022-02-051-3/+3
|
* Add `#partial [Enum]Type{...}` support to check for missing enumerated array ↵gingerBill2022-02-051-88/+2
| | | | fields
* Add `#no_type_assert` and `#type_assert` to disable implicit type assertions ↵gingerBill2022-01-271-0/+8
| | | | with `x.(T)`
* Add mutex guards for signature scopesgingerBill2022-01-101-1/+1
|
* Revert fix #1344gingerBill2022-01-031-32/+0
|
* Fix #1344gingerBill2022-01-031-0/+32
|
* Disallow `@(static)` and `@(thread_local)` within `defer` statementsgingerBill2021-12-171-0/+7
|
* Remove `scope` field from `Ast`gingerBill2021-11-141-8/+6
|
* Begin minimizing `Ast` sizegingerBill2021-11-141-1/+1
|
* Move more things to `PtrMap`gingerBill2021-11-051-5/+4
|
* Correct ternary if expression type determinationgingerBill2021-10-221-2/+0
|
* Correct update propagation of type for ternary if expressionsgingerBill2021-10-221-0/+2
|
* `ERROR_BLOCK()` any usages of "Did you mean?" like behaviour whilst ↵gingerBill2021-08-271-0/+4
| | | | iterating across a scope entry map
* Correct race condition and incorrect usage of `condition_signal` outside of ↵gingerBill2021-08-261-0/+1
| | | | a mutex lock
* Correct procedure checking flag handling, and correct the (bodge) handle of ↵gingerBill2021-08-231-0/+3
| | | | unchecked procedure bodies
* Fix bug in `check_is_terminating`gingerBill2021-08-231-0/+3
|
* Add suggestions when trying to take the address the a value from a ↵gingerBill2021-08-231-4/+7
| | | | `for`/`switch` statement
* Fix deadlock caused by typogingerBill2021-08-191-1/+1
|
* Improve parsing for `or_return`; allow `#force_inline foo() or_return;`gingerBill2021-08-161-15/+0
|
* Correct `or_return` logic for debug printing and expression is not used checkinggingerBill2021-08-161-4/+21
|
* Reduce superfluous error messages for return statements expecting not-1 ↵gingerBill2021-08-071-1/+15
| | | | return values
* Temporarily disable `-threaded-checker`; Restructure the untyped-expr-info ↵gingerBill2021-07-131-2/+2
| | | | system to be much more thread-friendly
* Add experimental support for a threaded semantic checker to `-threaded-checker`gingerBill2021-07-101-3/+3
|
* Improve CheckerContext usagegingerBill2021-07-101-5/+5
|
* Allow `x in ptr_to_map_or_bit_set`gingerBill2021-07-101-1/+2
|
* [Experimental] Add 'try' and `or_else' built-in proceduresgingerBill2021-07-041-1/+1
|
* Improve logic for diverging procedures by checking if it terminatesgingerBill2021-06-161-5/+18
|
* Add unreachable detection for deferred statements in a scope which contains ↵gingerBill2021-06-161-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`gingerBill2021-06-091-2/+2
|
* Experimental support for inline swizzling for array types of len <= 4 e.g. ↵gingerBill2021-06-051-0/+3
| | | | `v.xyz`, `v.argb`, `v.xxx`
* Be a little more correct with the temporary Ast nodegingerBill2021-05-191-3/+3
|