aboutsummaryrefslogtreecommitdiff
path: root/src/check_decl.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Add `@(warning=<string>)`gingerBill2021-08-021-0/+1
|
* Define which mutexes are blocking and recursive explicitlygingerBill2021-07-271-2/+2
|
* INTERNAL USE ONLY: `//+lazy` build flaggingerBill2021-07-251-53/+48
|
* Remove dead codegingerBill2021-07-151-4/+0
|
* Replace non-recursive mutexes with `BlockingMutex`; Minor improves to ↵gingerBill2021-07-141-6/+6
| | | | initialization improves
* Reduce mutex usage and convert things to queues from arraysgingerBill2021-07-131-3/+1
|
* Big improvement to the `-threaded-checker` code, unifying the logic and ↵gingerBill2021-07-131-2/+1
| | | | simplify behaviour
* Add experimental support for a threaded semantic checker to `-threaded-checker`gingerBill2021-07-101-1/+2
|
* Move things around for sanity checking for multithread preparationgingerBill2021-07-101-3/+15
|
* Prepare for multithreading the semantic checker by giving mutexes to ↵gingerBill2021-07-101-0/+3
| | | | | | variables of contention NOTE(bill): I know this is dodgy, but I want to make sure it is correct logic before improve those data structures
* Improve CheckerContext usagegingerBill2021-07-101-1/+1
|
* Improve logic for diverging procedures by checking if it terminatesgingerBill2021-06-161-2/+9
|
* Make default calling convention code more correct to readgingerBill2021-06-081-3/+3
|
* Add `@(link_section=<string>)` for global variablesgingerBill2021-05-241-0/+3
|
* Remove @(static) for global variablesgingerBill2021-05-191-3/+2
|
* Remove old dead codegingerBill2021-05-151-11/+0
|
* Fix #682gingerBill2021-05-121-0/+13
|
* Fix #893gingerBill2021-04-271-2/+3
|
* Fix constant aliasing for debug informationgingerBill2021-04-261-1/+1
|
* Fix race condition with procedure aliases checking for declarations on ↵gingerBill2021-04-261-2/+2
| | | | constant aliases
* Make `main` calling convention "odin" rather than "contextless" to simplify ↵gingerBill2021-04-221-3/+2
| | | | code generation
* Add `optimization_mode` attribute for proceduresgingerBill2021-04-221-0/+12
| | | | | Allowed modes: "none", "minimal", "size", "speed" Currently: none == minimal and size == speed
* Remove temporary reference typesgingerBill2021-04-191-2/+2
|
* Fix `override_entity_in_scope `behaviour to correctly to report the changes ↵gingerBill2021-04-191-14/+27
| | | | upstream better
* Add `@(cold)` attribute to procedure declarationsgingerBill2021-04-141-0/+4
|
* Minor improvement to error message about assigning a type to a variable with ↵gingerBill2021-03-231-1/+1
| | | | no inference
* Change from `test_*` prefix to `@(test)` attribute for `odin test`gingerBill2021-03-141-2/+5
|
* Minimize TokenPos size by using `i32` for line/column/offset and file_id ↵gingerBill2021-03-041-9/+9
| | | | | | 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)
* Remove `#opaque` typesgingerBill2021-02-231-3/+0
|
* Remove `bit_field` keyword and parsing logicgingerBill2021-02-231-1/+0
|
* Remove `"pure"` and `"pure_none"` calling conventionsgingerBill2021-02-231-3/+0
|
* Remove `bit_field` type from Odin (keyword and dead runtime code still exists)gingerBill2021-02-191-3/+0
|
* Fix minor constant value declaration buggingerBill2020-12-141-21/+1
|
* Add `-show-unused` (Shows unused package declarations of all imported packages)gingerBill2020-11-171-2/+1
| | | | Crude output at the moment but better than nothing
* Minimize memory usage for AST nodes by using Slice<T> rather than Array<T> ↵gingerBill2020-11-161-1/+1
| | | | when the parameter doesn't need to grow
* Implement custom temporary allocator using ring buffergingerBill2020-11-151-1/+0
|
* Add SCOPED_TEMPORARY_BLOCK for temporary allocations within a blockgingerBill2020-11-151-5/+4
|
* Inline asm expression (-llvm-api)gingerBill2020-10-241-1/+5
| | | | | | | | | | | | 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 {...}`
* Fix Odin bug with "none" procedure calling conventions in the runtimegingerBill2020-09-101-7/+9
|
* Update math and math/linalg; add "pure_none" calling conventiongingerBill2020-09-101-0/+9
|
* Fix `signature_parameter_similar_enough` logicgingerBill2020-06-301-7/+4
|
* Add `-show-system-calls`; Update runtime for windows_386; Fix some minor bugsgingerBill2020-06-301-0/+3
|
* Begin migration from sys/win32 to sys/windowsgingerBill2020-06-261-0/+11
|
* Fix #648gingerBill2020-06-101-1/+5
|
* Improve termination rules checking for missing `return`; Make diverging ↵gingerBill2020-06-061-2/+1
| | | | procedure `-> !` be terminators
* Add `"pure"` procedure typesgingerBill2020-05-231-2/+4
|
* Fix #561 `where` statements that eval to false do not show incorrect usage ↵gingerBill2020-05-131-1/+1
| | | | location
* Let -vet ignore intentional declaration shadowing #637gingerBill2020-05-121-0/+4
|
* Add experimental atom op tables for llvm-backendgingerBill2020-05-021-3/+21
|
* Basic polymorphic named procedure parameters for procedures and recordsgingerBill2020-04-131-2/+1
|