aboutsummaryrefslogtreecommitdiff
path: root/src/parser.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'master' into bill/feature-using-stmtgingerBill2026-01-301-38/+93
|\
| * Merge branch 'odin-lang:master' into vet_flagsFaker-092026-01-291-3/+10
| |\
| | * Add `struct #simple` to force a struct to use simple comparison if all of ↵gingerBill2026-01-291-3/+10
| | | | | | | | | | | | the fields "nearly simply comparable".
| * | Fix for vet flags. All combinations of vet flags on the command line and top ↵Shane Shrybman2026-01-281-3/+3
| |/ | | | | | | of file are working
| * Require space after the prefix of `#+build` style tagsgingerBill2026-01-261-0/+27
| |
| * Merge pull request #6166 from laytan/vet-file-tags-in-addition-to-command-linegingerBill2026-01-241-20/+8
| |\ | | | | | | make #+vet tags always work in addition to command line flags
| | * make #+vet tags always work in addition to command line flagsLaytan Laats2026-01-241-20/+8
| | |
| * | Fix #6165Jeroen van Rijn2026-01-241-0/+6
| |/
| * Fix #6130Jeroen van Rijn2026-01-221-0/+4
| |
| * Add `preserve/most` and `preserve/all`bill/must-tailgingerBill2026-01-151-0/+2
| |
| * Add `#must_tail` and `"preserve/none"` calling conventiongingerBill2026-01-151-0/+3
| |
| * Add `#must_tail` (similar syntax to `#force_inline`gingerBill2026-01-151-5/+18
| |
| * Fix handling of #force_inlineKrzesimir Nowak2025-12-291-7/+7
| |
| * Disallow importing directories with an `.odin` extension/suffixgingerBill2025-12-261-0/+5
| |
| * Fix #packed #all_or_noneKrzesimir Nowak2025-12-181-1/+1
| |
* | Make `using` as a statement an opt-in with `#+feature using-stmt`gingerBill2025-12-211-0/+2
|/
* Remove `#no_copy`gingerBill2025-11-051-9/+2
|
* Add `#all_or_none`gingerBill2025-11-051-2/+16
|
* Add suggestion for `T[]` to be `[]T` if a type is allowed in that parsing ↵gingerBill2025-10-301-3/+11
| | | | context
* Add `all-bits` to feature taggingerBill2025-10-091-0/+2
|
* Add `#+test` to replace `_test.odin`gingerBill2025-09-281-0/+4
|
* Minimize mutex usage when in single threaded mode.gingerBill2025-09-101-0/+1
|
* More thread contention removalgingerBill2025-09-101-1/+9
|
* Correct #+feature checkgingerBill2025-08-081-2/+2
|
* Add `-integer-division-by-zero:self`gingerBill2025-08-081-0/+1
|
* Add `#+feature integer-division-by-zero:<string>`gingerBill2025-08-081-12/+30
|
* Merge pull request #5081 from Lperlind/vet-explicit-allocatorsgingerBill2025-07-221-0/+5
|\ | | | | Add -vet-explicit-allocators
| * Add -vet-explicit-allocatorsLucas Perlind2025-04-271-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | This vet flag will make it so that allocators must be explicitly used in places where context.allocator and context.temp_allocator are a procedure parameter. The goal of this flag is to prevent using the context.allocator in cases where a different allocator was meant to be used. Some code bases default context.allocator to nil/panic allocator to catch this at runtime. This effectively makes it a compile time error instead.
* | Check for invalid subtargets.Harold Brenes2025-07-201-3/+23
| | | | | | | | | | | | | | | | - Add 'ios' pseudo-subtarget which triggets with either iPhone or iPhoneSimulator subtargets. - Treat an explicit 'default' subtarget as exclusive only to the default subtarget, not an other platform-compatible subtargets. - 'generic' continues to resolve to true for any platform-compatible subtarget as it names appears to imply such behavior.
* | Use fi.is_dir instead of path_is_directory() when checking if an import is a ↵Harold Brenes2025-07-131-2/+2
| | | | | | | | directory with a .odin extension.
* | Correct consume comment groups in both parsersgingerBill2025-07-111-17/+20
| |
* | [parser.cpp] - packages with `.odin` in the name no longer attemptHayden Gray2025-06-051-2/+2
| | | | | | | | to parse as odin files
* | Fix #5232 by adding an edge casegingerBill2025-05-291-1/+9
|/
* Support subtargets in build tags: `#build darwin:generic` and `#build ↵gingerBill2025-04-101-4/+8
| | | | linux:android, darwin:ios`
* Improve semicolon checking rules when parsinggingerBill2025-02-241-2/+6
|
* Minor rearrange for parsing field listsgingerBill2025-02-221-113/+116
|
* Disallow syntax: `proc(x,:T)`gingerBill2025-02-221-0/+3
|
* `#unroll(N) for`gingerBill2025-01-101-11/+47
|
* Allow `#+` tags on single filesgingerBill2025-01-051-6/+4
|
* Make `-no-dynamic-literals` the default nowgingerBill2025-01-051-2/+2
|
* Add `#+feature dynamic-literals`gingerBill2025-01-051-0/+66
|
* Make `#relative` types an error in parsinggingerBill2024-11-141-0/+1
|
* Plug a memory leakbobsayshilol2024-10-271-2/+0
| | | | | The call to |array_make()| always allocates and since this variable was unused it lead to a leak. Simply plug it by removing it.
* `#min_field_align` & `#max_field_align`; deprecate `#field_align` in favour ↵gingerBill2024-09-301-11/+39
| | | | of `#min_field_align`
* Forbid parsing more fields if no separator was foundFeoramund2024-09-201-1/+5
| | | | Fixes #4278
* Changed some recently added //+ usages to #+ and also fixed some //+ usages ↵Karl Zylinski2024-09-171-1/+1
| | | | in some code generators.
* Merge branch 'master' into file-tags-without-commentsKarl Zylinski2024-09-171-11/+20
|\
| * Add `-vet-packages:<comma-separated-string-array>`gingerBill2024-09-171-11/+20
| |
* | Fix incorrect syntax error in parse_fileKarl Zylinski2024-09-141-1/+1
| |
* | Docs are generated as expected again.Karl Zylinski2024-09-141-5/+7
| |