gingerBill
68df35b378
Add #field_align(N)
...
It sets the minimum alignment for the fields within a struct. This cannot be used with `#packed`, but can be used with `#align(N)`.
If `#align(N)` is less than `#field_align(N)`, then a warning will be printed.
2024-01-28 17:33:29 +00:00
DanielGavin
f63f28302e
Recover from faulty parameter in parse_proc_type
2024-01-22 20:35:26 +01:00
DanielGavin
8e395cc6e9
Fixed crash in core:odin/parser with #reverse
2023-12-13 20:08:26 +01:00
Laytan Laats
bd19081543
fix nil exceptions with incomplete code parse
...
This makes the parser more fault tolerant because the different
parse_foo procs return nil when in an invalid state, which is fine most
of the time but when creating a node it would crash accessing its
position.
2023-11-12 01:53:14 +01:00
gingerBill
14adcb9db8
Use or_break and or_continue where appropriate in the core library
2023-09-30 15:34:39 +01:00
gingerBill
41a22bd83d
or_break and or_continue to core:odin packages
2023-09-30 15:09:59 +01:00
Fabian Sperber
886d0de040
Remove auto_cast from field_flags
...
- auto_cast is parsed as its own expression
2023-09-05 23:14:55 +02:00
Fabian Sperber
bbf9678756
Fix parsing #force_inline call expression with or_return
2023-09-05 22:35:30 +02:00
DanielGavin
64a63b3879
Add #reverse to odin/parser.
2023-09-03 16:15:03 +02:00
gingerBill
cd74cdfdaf
Remove switch in in favour of switch _ in
2023-08-08 14:57:25 +01:00
gingerBill
488a38a96d
Merge pull request #2649 from hchac/allow-newline-field-list-separator
...
Match C++ parser behavior in allowing newlines before a closing brace.
2023-08-07 11:45:08 +01:00
Walther Chen
4b9afd787c
core:odin/parser allow args after varargs in parse_call_expr
2023-08-03 22:45:21 -04:00
hchac
4c0e9f1f89
Match CPP parser behavior in allowing newlines before a closing brace.
2023-07-11 16:15:06 -04:00
gingerBill
7abaf77292
Add struct #no_copy
2023-04-15 15:47:18 +01:00
Fabian Sperber
33798b8b80
Need to forward the name of the directive, not the hash token
2023-03-20 20:09:30 +01:00
gingerBill
ef372bd861
Replace #optional_second with #optional_allocator_error
2022-09-12 13:08:32 +01:00
gingerBill
a83ca2120e
Remove unused import
2022-08-14 21:50:41 +01:00
gingerBill
81799f7f78
Fix #1950
2022-08-14 21:50:21 +01:00
gingerBill
5e3cf45df3
Add #soa pointer type to aid with refactoring to #soa data types
...
a: #soa[16]Foo
p := &a[6]
#assert(type_of(p) == #soa^#soa[16]Foo)
p^.x = 123
p.x = 123
2022-08-08 15:07:00 +01:00
gingerBill
5168cf03a9
Remove dead #maybe code
2022-08-01 15:38:50 +01:00
gingerBill
0ec4d97bfd
Correct parser logic for is_token_field_prefix
2022-08-01 15:24:17 +01:00
gingerBill
97acc57649
Simplify field prefix handling
2022-08-01 13:17:10 +01:00
gingerBill
83c8c48ed7
Simplify ast parsing for prefixes
2022-08-01 13:07:49 +01:00
Pablo Narvaja
6ffe814ca7
assign package docs to file docs
2022-06-23 18:13:34 -03:00
gingerBill
b6b3377786
Remove unneeded semicolons
2022-03-24 12:02:50 +00:00
gingerBill
13cb894b30
Update core:odin for union #shared_nil
2022-03-24 12:00:27 +00:00
gingerBill
fcab5508be
Merge branch 'master' into odin-ast-changes
2022-03-03 13:56:34 +00:00
gingerBill
edc13c29df
Merge pull request #1331 from DanielGavin/parser-fault-recovery
...
Recover from closing brace not found in field list
2022-02-15 16:26:16 +00:00
gingerBill
9cf937fef0
Merge pull request #1430 from DanielGavin/parser-fix
...
Fix return stmt when it's one lined(check for close brace).
2022-02-15 15:47:40 +00:00
gingerBill
ad6ea3d6aa
Replace any with union for subtyping in core:odin/ast
2022-02-06 13:31:16 +00:00
gingerBill
0c16f27814
Update parser for #sparse
2022-02-06 11:50:27 +00:00
Daniel Gavin
ff5e036773
Trim whitespaces
2022-01-27 14:27:26 +01:00
Daniel Gavin
4dc29d141f
Fix core:odin/parser not setting the inline flag correctly.
2022-01-27 14:24:33 +01:00
Daniel Gavin
d57ec4a11d
Fix return stmt when it's one lined(check for close brace).
2022-01-16 13:20:12 +01:00
Jeroen van Rijn
6f370fdbf2
Merge pull request #1394 from Tetralux/parse-allman-for
...
core:odin/parser: Fix parsing of Allman style braces in for loops
2021-12-25 20:24:30 +01:00
Tetralux
a60667e900
core:odin/parser: Fix parsing of Allman style braces in for loops
2021-12-25 19:18:29 +00:00
Tetralux
9b2fe56d14
Parse #no_nil on unions
2021-12-25 18:58:08 +00:00
Daniel Gavin
f1a126e162
Do not save the comment when peeking.
2021-12-02 22:44:47 +01:00
Daniel Gavin
517c8ff1dd
Include Matrix_Type to the is_literal_type switch statement.
2021-11-28 02:14:25 +01:00
Daniel Gavin
a4ba91a554
Check for non inserted semicolon in *expect_closing_brace_of_field_list*
2021-11-25 18:47:58 +01:00
Daniel Gavin
cf390bf8b9
Recover from closing brace not found in field list
2021-11-24 21:20:46 +01:00
gingerBill
90d587df13
Support matrix type in core:odin
2021-10-27 23:49:37 +01:00
Daniel Gavin
50ee65ea9e
Make default_parser use the optional_semicolons and add odin parser test.
2021-09-20 20:50:01 +02:00
Daniel Gavin
a2a7647c90
Fix '>>' operand being tokenized correctly and switch statement with bare semicolon.
2021-09-20 20:12:13 +02:00
gingerBill
344abf2cb2
Make core and vendor adhere to -vet, -strict-style, and -disallow-do
2021-09-11 16:40:19 +01:00
gingerBill
720884e0f1
Strip even more semicolons if followed by a } or ) on the same line
2021-08-31 23:47:57 +01:00
gingerBill
251da264ed
Remove unneeded semicolons from the core library
2021-08-31 22:21:13 +01:00
gingerBill
0c5fa2cdd5
Fix build.bat
2021-08-22 17:09:40 +01:00
gingerBill
19bf12aa09
Update odin/ast for multi pointers
2021-08-22 11:46:12 +01:00
gingerBill
93b5befe45
Improve error handling for missing semicolon separators in a for loop
2021-08-22 11:27:24 +01:00