aboutsummaryrefslogtreecommitdiff
path: root/src/parser.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix potential race condition when determining the package namegingerBill2023-01-161-1/+5
|
* Remove `auto_cast` procedure field flaggingerBill2023-01-161-4/+0
| | | | Fixes #2285
* Minor changes to `StringMap` allocationgingerBill2023-01-141-1/+1
|
* Add `+ignore` along with `+build ignore`gingerBill2023-01-031-0/+2
|
* Minimize calling of `Ast::thread_safe_file()` when cloninggingerBill2023-01-031-141/+143
|
* General improves to `alloc_ast_node` and other unnecessary checksgingerBill2023-01-031-3/+1
|
* Use heap_allocator for all hash set typesgingerBill2023-01-031-1/+1
|
* Remove `global_` prefix from `global_thread_pool_*` proceduresgingerBill2023-01-021-3/+3
|
* Use C++ style `for` loop over `for_array` macro in parser.cpp where posiblegingerBill2023-01-011-45/+50
|
* Remove the synchronization primitive init/destroy callsgingerBill2023-01-011-11/+0
|
* Remove need the MPMC in single threaded casegingerBill2022-12-221-1/+1
|
* Clean up mutex usage in the parsergingerBill2022-12-221-32/+30
|
* Revert "Change `tav` to be a pointer internally"gingerBill2022-12-221-6/+2
| | | | This reverts commit e98f1a28e68e82753728f58b3465793192b74f9d.
* Change `tav` to be a pointer internallygingerBill2022-12-221-2/+6
|
* Set the file's filename and directory in `init_ast_file`gingerBill2022-12-201-2/+4
|
* Use `*_set_update` where possiblegingerBill2022-12-201-2/+1
|
* Clarify ThreadPool interface; Move `import_mutex` guarding to just the ↵gingerBill2022-12-201-8/+6
| | | | string set
* Use `fetch_add` rather than `+=`gingerBill2022-12-181-1/+1
|
* Remove dead code in the compilergingerBill2022-12-181-36/+0
|
* `gb_internal` a lotgingerBill2022-12-181-230/+230
|
* Improve error handling for trailing commas #2136gingerBill2022-11-211-4/+15
|
* Merge pull request #1544 from FancyKillerPanda/build_ignoregingerBill2022-11-031-0/+2
|\ | | | | Changed `//+ignore` to `//+build ignore` and emit a warning for unknown tags
| * Emit a parser warning when encountering an unknown tag.FancyKillerPanda2022-02-241-0/+2
| |
* | Fix -verbose-error source lines from having last char cut offZac Nowicki2022-09-151-1/+0
| | | | | | | | Fixes #1226
* | Replace `#optional_second` with `#optional_allocator_error`gingerBill2022-09-121-1/+1
| |
* | Add `ODIN_BUILD_PROJECT_NAME` and `//+build-project-name`gingerBill2022-09-081-1/+50
| | | | | | | | | | | | | | | | | | | | | | | | This allows for condition inclusion of files, similar to `+build` or `ODIN_BUILD`, but relies on the directory name of the project to be the same as specified Example: odin build foo/bar/baz ODIN_BUILD_PROJECT_NAME == "baz" //+build_project_name baz
* | Add `#soa` pointer type to aid with refactoring to `#soa` data typesgingerBill2022-08-081-2/+4
| | | | | | | | | | | | | | | | a: #soa[16]Foo p := &a[6] #assert(type_of(p) == #soa^#soa[16]Foo) p^.x = 123 p.x = 123
* | Remove dead `#maybe` codegingerBill2022-08-011-9/+3
| |
* | Simplify parser logic for field prefixesgingerBill2022-08-011-34/+19
| |
* | Fix minor issue with a lack of a trailing commagingerBill2022-07-251-2/+3
| |
* | Add `#by_ptr` procedure attribute to enforce a parameter to be passed by ↵gingerBill2022-07-241-0/+2
| | | | | | | | pointer internally
* | Disallow `proc() do stmt` and only allow `proc() { stmt }`gingerBill2022-07-181-5/+1
| |
* | Remove assertgingerBill2022-07-161-1/+0
| |
* | Fix #1888gingerBill2022-07-161-0/+1
| |
* | Improve `-strict-style` for `foreign import`gingerBill2022-06-131-4/+7
| |
* | Improvements to `-strict-style` and trailing commasgingerBill2022-06-131-83/+75
| |
* | Move trailing comma requirement in field lists to `-strict-style`gingerBill2022-06-121-17/+29
| |
* | Deprecate `a..b` based ranges in favour of `..=`dev-2022-06gingerBill2022-06-011-0/+1
| |
* | Add `simd_to_bits`; correct fix typo causing issue with parapolygingerBill2022-05-261-1/+13
| |
* | Merge functionality of `#maybe` with the standard 'union' functionalitygingerBill2022-05-231-0/+1
| |
* | Fix typo.Cedric Hutchings2022-05-211-7/+7
| |
* | Allow for `import _ "foo"` to allow for `@(init)` procedures; Remove `using ↵gingerBill2022-05-141-10/+4
| | | | | | | | import` code
* | Compiler: Add early error for output path being a directory.Jeroen van Rijn2022-04-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | - Introduce new `Path` type and an array of build paths on the build context. - Resolve input and output paths/files early (before parsing). - Error early if inputs are missing or outputs are directories. - Plumb new file path generation into linker stage instead of its adhoc method. TODO: - Remove more adhoc file path generation in parser and linker stage. - Make intermediate object file generation use new path system. - Round out and robustify Path helper functions.
* | `union #shared_nil`gingerBill2022-03-241-4/+26
| | | | | | | | This adds a feature to `union` which requires all the variants to have a `nil` value and on assign to the union, checks whether that value is `nil` or not. If the value is `nil`, the union will be `nil` (thus sharing the `nil` value)
* | Fix #1610gingerBill2022-03-141-29/+21
| |
* | check for semi-colon before EOF tooSébastien Marie2022-03-031-1/+2
| |
* | Check if directory exists with the same target executable name when building ↵gingerBill2022-02-281-0/+16
|/ | | | a directory
* Correct `ExactValue_Pointer`gingerBill2022-02-221-63/+0
|
* Simplify `parse_binary_expr`gingerBill2022-02-221-48/+109
|
* Minimize memory usage by having an arena per thread rather than an arena per ↵gingerBill2022-02-181-6/+6
| | | | file