Commit Graph

787 Commits

Author SHA1 Message Date
Shane Shrybman
f6322b4b31 Fix for vet flags. All combinations of vet flags on the command line and top of file are working 2026-01-28 14:18:30 -05:00
gingerBill
83a10e929f Require space after the prefix of #+build style tags 2026-01-26 10:49:24 +00:00
gingerBill
cc4a7ec11c Merge pull request #6166 from laytan/vet-file-tags-in-addition-to-command-line
make #+vet tags always work in addition to command line flags
2026-01-24 13:55:41 +00:00
Jeroen van Rijn
1c529d8cb2 Fix #6165 2026-01-24 14:06:31 +01:00
Laytan Laats
a9a65b5377 make #+vet tags always work in addition to command line flags 2026-01-24 12:59:55 +01:00
Jeroen van Rijn
ce71227b6b Fix #6130 2026-01-22 15:20:39 +01:00
gingerBill
59ae82634e Add preserve/most and preserve/all 2026-01-15 17:52:36 +00:00
gingerBill
5f07055ac1 Add #must_tail and "preserve/none" calling convention 2026-01-15 17:28:28 +00:00
gingerBill
0366cd3304 Add #must_tail (similar syntax to #force_inline 2026-01-15 16:32:52 +00:00
Krzesimir Nowak
0bf4ffe469 Fix handling of #force_inline 2025-12-29 22:08:56 +01:00
gingerBill
2e6554b8c8 Disallow importing directories with an .odin extension/suffix 2025-12-26 11:49:46 +00:00
Krzesimir Nowak
a5809d0185 Fix #packed #all_or_none 2025-12-18 15:04:34 +01:00
gingerBill
fc2cb8fb39 Remove #no_copy 2025-11-05 13:44:14 +00:00
gingerBill
593d2e6daa Add #all_or_none 2025-11-05 13:30:40 +00:00
gingerBill
0972690e14 Add suggestion for T[] to be []T if a type is allowed in that parsing context 2025-10-30 09:16:19 +00:00
gingerBill
025cb03242 Add all-bits to feature tag 2025-10-09 15:02:16 +01:00
gingerBill
547477abf6 Add #+test to replace _test.odin 2025-09-28 20:47:32 +01:00
gingerBill
5ea2e1fe60 Minimize mutex usage when in single threaded mode. 2025-09-10 21:41:52 +01:00
gingerBill
34e3d30780 More thread contention removal 2025-09-10 20:51:52 +01:00
gingerBill
7b5cee9f1e Correct #+feature check 2025-08-08 10:50:24 +01:00
gingerBill
ee01643229 Add -integer-division-by-zero:self 2025-08-08 10:41:05 +01:00
gingerBill
991883d0e1 Add #+feature integer-division-by-zero:<string> 2025-08-08 10:24:44 +01:00
gingerBill
513e6daace Merge pull request #5081 from Lperlind/vet-explicit-allocators
Add -vet-explicit-allocators
2025-07-22 11:06:12 +01:00
Harold Brenes
7c917d56e9 Check for invalid subtargets.
- 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.
2025-07-20 14:35:06 -04:00
Harold Brenes
b811414ed1 Use fi.is_dir instead of path_is_directory() when checking if an import is a directory with a .odin extension. 2025-07-13 15:24:53 -04:00
gingerBill
38faec757d Correct consume comment groups in both parsers 2025-07-11 18:41:40 +01:00
Hayden Gray
ccdd14394e [parser.cpp] - packages with .odin in the name no longer attempt
to parse as odin files
2025-06-05 11:24:50 -04:00
gingerBill
74bab6d42f Fix #5232 by adding an edge case 2025-05-29 16:29:52 +01:00
Lucas Perlind
65b4c793f0 Add -vet-explicit-allocators
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.
2025-04-27 22:47:03 +10:00
gingerBill
1f814c33dc Support subtargets in build tags: #build darwin:generic and #build linux:android, darwin:ios 2025-04-10 11:36:03 +01:00
gingerBill
d23453811d Improve semicolon checking rules when parsing 2025-02-24 13:13:36 +00:00
gingerBill
de755f95ec Minor rearrange for parsing field lists 2025-02-22 17:58:14 +00:00
gingerBill
875dbf3140 Disallow syntax: proc(x,:T) 2025-02-22 17:56:42 +00:00
gingerBill
328d893cb5 #unroll(N) for 2025-01-10 12:22:18 +00:00
gingerBill
7da7d4e410 Allow #+ tags on single files 2025-01-05 15:41:51 +00:00
gingerBill
bca08d3b85 Make -no-dynamic-literals the default now 2025-01-05 13:33:06 +00:00
gingerBill
2efe4c2d68 Add #+feature dynamic-literals 2025-01-05 13:19:10 +00:00
gingerBill
b3d1d7b835 Make #relative types an error in parsing 2024-11-14 16:08:53 +00:00
bobsayshilol
b59647084b Plug a memory leak
The call to |array_make()| always allocates and since this variable was
unused it lead to a leak. Simply plug it by removing it.
2024-10-27 22:02:34 +00:00
gingerBill
a7d7c92a53 #min_field_align & #max_field_align; deprecate #field_align in favour of #min_field_align 2024-09-30 13:05:28 +01:00
Feoramund
84700e09c9 Forbid parsing more fields if no separator was found
Fixes #4278
2024-09-20 19:02:00 -04:00
Karl Zylinski
29fedc1808 Changed some recently added //+ usages to #+ and also fixed some //+ usages in some code generators. 2024-09-17 19:39:48 +02:00
Karl Zylinski
093ade0504 Merge branch 'master' into file-tags-without-comments 2024-09-17 19:36:17 +02:00
gingerBill
19c1ed154c Add -vet-packages:<comma-separated-string-array> 2024-09-17 11:01:26 +01:00
Karl Zylinski
c24e18bf10 Fix incorrect syntax error in parse_file 2024-09-14 14:36:33 +02:00
Karl Zylinski
8b84b9a4a2 Docs are generated as expected again. 2024-09-14 14:32:46 +02:00
Karl Zylinski
86e291235d Merge remote-tracking branch 'origin/master' into file-tags-without-comments 2024-09-14 11:26:41 +02:00
Karl Zylinski
580f0599cd parse_file: Removed some nesting and removed probable incorrect safety check. 2024-09-09 21:24:41 +02:00
Karl Zylinski
cc724ff5d2 Made error handling code in parse_file clearer. 2024-09-09 21:13:39 +02:00
Karl Zylinski
957cd64699 Rename process_file_tag -> parse_file_tag 2024-09-09 21:06:43 +02:00