Commit Graph

786 Commits

Author SHA1 Message Date
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
Karl Zylinski
3637dcbd04 Simplified error messages in parse_build_tag, removed the idea of making multiple notted operating systems since it was misinformed. 2024-09-09 21:03:28 +02:00