aboutsummaryrefslogtreecommitdiff
path: root/src/check_stmt.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Minimize mutex usage when in single threaded mode.gingerBill2025-09-101-5/+7
|
* Minimize more thread contentiongingerBill2025-09-101-2/+3
|
* Minor clean up of permanent/temporary arena usagegingerBill2025-09-101-1/+1
|
* `for in string16`; Support `string16` across coregingerBill2025-08-021-3/+23
|
* Remove the semantics of `#no_copy`, keep the grammargingerBill2025-07-301-2/+0
|
* Fix #5447Jeroen van Rijn2025-07-091-0/+4
| | | | Thanks to @FourteenBrush
* Fix an oversight for operators with more than 2 charsAirtz2025-06-241-2/+1
|
* Better error messagesAirtz2025-06-241-9/+11
|
* Be strict with type switch case column alignment tooFeoramund2025-06-041-0/+14
| | | | | | This copies the same block used for regular switch cases. Fixes #4673
* Fix #5228gingerBill2025-05-291-0/+1
|
* CHECK 4 donebogwi2025-05-051-0/+2
| | | | | | | | | | | | The original errors: 1. `5024.odin(127:15) Error: Invalid use of a polymorphic type 'List($T)' in variable declaration` 2. `5024.odin(129:17) Error: Cannot determine polymorphic type from parameter: 'invalid type' to 'List($T)'` Are gone. We now have a single, different error: `5024.odin(124:28) Error: Unspecialized polymorphic types are not allowed in procedure parameters, got List($T)` This error points directly to the `list : List($T)` parameter within the `List_Filter` procedure definition. This seems much more relevant to the actual problem (the interaction between the generic `List_Filter` and the concrete `default_filter`) than the original error about the variable declaration. While this new error message might not be exactly pinpointing the default parameter issue, it correctly identifies the problematic procedure definition (`List_Filter`) as the source of the error, rather than the variable declaration (`my_list`). This seems like a step in the right direction for improving the error reporting for this kind of scenario.
* Add trivial sanity check for assigning to return values within `defer` #5011gingerBill2025-04-071-0/+41
|
* Use `TypeSet` instead of `PtrSet<Type *>`gingerBill2025-02-201-4/+4
|
* `#unroll(N) for`gingerBill2025-01-101-6/+59
|
* Fix #4552gingerBill2024-12-051-0/+1
|
* Fix #4561gingerBill2024-12-051-0/+1
|
* Add warning for `unsigned >= 0` like conditions in a `for` loopgingerBill2024-10-301-0/+17
|
* Fix minor bug with addressabilitygingerBill2024-09-171-4/+14
|
* Fix #4132gingerBill2024-08-241-1/+2
|
* Disallow labelled branches in `defer` - fix #3960gingerBill2024-08-241-0/+8
|
* Fix #3999gingerBill2024-08-181-1/+2
|
* Fix #4005gingerBill2024-08-181-1/+5
|
* Fix #4022gingerBill2024-08-181-1/+1
|
* Fix #4040gingerBill2024-08-181-0/+10
|
* Error if assigning to `rodata` variable with indexDavi2024-08-131-1/+8
|
* Check to see if people are return a slice of a local fixed array from a ↵gingerBill2024-07-221-1/+9
| | | | procedure
* Add NULL check in check_range_stmtJeroen van Rijn2024-07-211-1/+1
| | | | Fixes #3953
* Fix compiler crash when switching on no valueFeoramund2024-07-141-0/+3
|
* Improve warning handling for possible `default:` typogingerBill2024-07-101-0/+6
|
* `-strict-style`: enforce `case` to be in the same column as `switch`gingerBill2024-06-291-0/+14
|
* Add `intrinsics.procedure_of`gingerBill2024-06-101-1/+9
| | | | | | | | ```odin foo :: proc(x: $T) { fmt.println(x) } bar :: intrinsics.procedure_of(foo(int(123))) // parameters are never ran at compile time, similar to `size_of` bar(333) // prints 333 ```
* Add error message on return a constant slice value from a proceduregingerBill2024-06-081-0/+4
|
* Remove empty line preventing a suggestion from happeninggingerBill2024-06-081-2/+0
|
* Allow `@(rodata)` on `@(static)` variablesgingerBill2024-06-061-1/+5
|
* Add `@(rodata)`gingerBill2024-06-061-0/+6
|
* Add `@(link_suffix=<string>)`gingerBill2024-05-301-2/+2
|
* Add shadow suggestiongingerBill2024-05-221-1/+5
|
* Fix `for &v in &fixed_array`gingerBill2024-05-201-1/+2
|
* Fix error reporting for enforce new switch/for syntaxgingerBill2024-05-161-2/+2
|
* Remove the old switch/for semantics entirely and enforce `switch &x in y`gingerBill2024-05-161-28/+2
|
* Fix #3587gingerBill2024-05-141-1/+28
|
* Attempt at fixing #3588gingerBill2024-05-141-0/+2
|
* Fix #3569gingerBill2024-05-131-1/+1
|
* Fix #3578gingerBill2024-05-131-17/+23
|
* Minor clean up of `is_terminating` codegingerBill2024-05-131-8/+19
| | | | This does not fix all known issues with it
* Fix #3522gingerBill2024-05-101-2/+32
|
* Disallow `for x in bitset_or_map` if `x` is a variable that matches the "key"gingerBill2024-04-271-0/+22
|
* Generalize Odin call-based "iterators" to work with more than 2-values: `for ↵gingerBill2024-04-271-14/+21
| | | | | | x, y, z, w in iterate(&it)` It has an artificial limitation of 100 values because if you need for than that, you're doing something wrong.
* Remove warning on clanggingerBill2024-04-121-2/+2
|
* Improve error messages for `switch` and `for` r-values with a suggestiongingerBill2024-04-121-0/+43
|