gingerBill
2b90b616e1
Add -vet-when-shadowing; Resolve global whens and foreign blocks on demand via name placeholders
2026-10-01 16:28:12 +01:00
gingerBill
5a4e0de0cc
Merge pull request #7594 from bplu4t2f/fix-7583
...
Fix 7583: -strict-style requires comma before newline after proc parameters which have a default value.
2026-09-29 13:11:39 +01:00
Jeroen van Rijn
6332303a0e
Add -file suggestion.
...
When `main` is duplicated or the package names differ, suggest it may be a single `-file` package.
2026-09-24 12:52:45 +02:00
bplu4t2f
a7b67e4473
-strict-style requires comma before newline after proc parameters which have a default value ( #7583 )
2026-09-19 12:16:55 +02:00
Krzesimir Nowak
3fa08eb9d5
Fix side_effects vs volatile typo in error message
2026-09-15 21:26:41 +02:00
gingerBill
e5bce4b2ad
asm: add exceptions to the whole descriptor-table ops (lgdt/lidt/sgdt/sidt)
2026-09-08 10:05:54 +01:00
gingerBill
2a48d1f3be
asm: Support add x, y, z<<1 style syntax for the arm64 target
2026-09-08 09:16:45 +01:00
gingerBill
654b3a8895
asm: Generalize memory operand syntax to a flat term list
...
Parse `[...]` as `term { (+|-) term }` where each term is `operand [ (*|<<|>>) operand ]`.
This allows for constant-only terms to be folded in-place, especially for things like displacement.
e.g. `[p + 8*32]` means `[p + 256]`.
Term order is also free: `[8 + p]` == `[p + 8]`
2026-09-07 18:39:59 +01:00
gingerBill
94aba2bd6b
Support #reserve for asm registers
2026-09-07 14:43:58 +01:00
gingerBill
9a425de2ae
Merge pull request #7465 from odin-lang/bill/arm64-clobber
...
asm: arm64 support
2026-09-01 10:22:08 +01:00
gingerBill
8181e3564f
Add asm syntax to core:odin/parser
2026-08-31 19:17:21 +01:00
gingerBill
7dd33b5e48
Implement #pre/#post` memory operand forms
2026-08-31 18:31:37 +01:00
gingerBill
80e9ec0e53
Reformat the instruction table
2026-08-29 19:38:44 +01:00
gingerBill
db0cd79633
Use thread_safe_file
2026-08-27 15:26:29 +01:00
gingerBill
938257d425
Add -strict-style-packages
2026-08-27 15:20:02 +01:00
gingerBill
3bb6254857
asm: Support v[idx] operand _syntax_
2026-08-27 12:01:10 +01:00
gingerBill
a2d9ca8697
Remove unneeded hash maps when you can store the data directly on the nodes
2026-08-24 22:25:53 +01:00
gingerBill
3e159a4e10
Add #no_init suffix directive for asm specifications.
2026-08-24 19:10:32 +01:00
gingerBill
c3c3aa1533
Add #pure directive for asm templates
2026-08-24 11:46:07 +01:00
kalsprite
ef1c5fe675
Fix compiler segfault on a bare in a type position call
2026-08-21 17:54:13 -07:00
gingerBill
c26aa48ca5
Support + - and ~ unary operators for asm operands
2026-08-21 16:01:49 +01:00
gingerBill
7a7bfea0bd
Begin work on pseudo mnemonics in the checker
2026-08-20 19:12:44 +01:00
gingerBill
4e0fe5cf4f
Allow parsing of asm instructions being a keyword
2026-08-20 09:37:34 +01:00
kalsprite
f17c86d936
diagnostics: let compiler check error() fmt strings + fixes
2026-08-19 15:39:39 -07:00
gingerBill
a86e523053
Allow for inlineable asm calls
2026-08-18 14:57:34 +01:00
gingerBill
fd9ccd7b10
Support segment overrides on asm memory operands
2026-08-18 14:44:24 +01:00
gingerBill
12c89ee2bf
Allow for [base - disp]
2026-08-18 14:11:01 +01:00
gingerBill
c3b2029f64
Support asm template groups
2026-08-17 19:54:21 +01:00
gingerBill
55377f71ef
Support #byte directive for asm templates
2026-08-17 13:21:40 +01:00
gingerBill
d1f561ec88
Correct instruction_size_suffix so that the correct suffix can be selected for the instruction to adhere to AT&T syntax
2026-08-17 12:59:23 +01:00
gingerBill
344e8afa36
#clobber cc -> #clobber flags
2026-08-17 12:10:08 +01:00
gingerBill
1f2234a4b2
Merge branch 'master' into bill/inline-asm
2026-08-17 11:44:14 +01:00
kalsprite
35061af11b
fix eol diagnostic
2026-08-16 17:31:59 -07:00
gingerBill
cb903df235
#side_effects -> #volatile; Remove dead code
2026-08-13 10:03:00 +01:00
gingerBill
3453643c11
Improve unquote_string_triple to give better error messages on invalid literals
2026-08-13 00:34:28 +01:00
gingerBill
c085a46185
Move #side_effects and #align_stack to the specification list
2026-08-12 23:40:57 +01:00
gingerBill
ae2c7ead48
Support triple backtick strings
2026-08-12 16:08:58 +01:00
gingerBill
5197806f88
Implement triple quote strings to allow for easier templating purposes
2026-08-12 15:42:36 +01:00
gingerBill
db41921a16
Mock out p0: u64 = %rax, p0b: u8 = p0
2026-08-12 10:20:11 +01:00
gingerBill
a87f5dd5e9
Clean up parsing for AstAsmMemoryOperand
2026-08-12 09:38:55 +01:00
gingerBill
612b25a425
Handle disp parameter correctly
2026-08-12 09:34:16 +01:00
gingerBill
658fa54ee4
Support [base]:u8 type interpretations for memory operands; And determine the correct suffix to use
2026-08-12 09:30:55 +01:00
gingerBill
c80fedc070
Support [base + index<<scale] and [base + index>>scale]; Support syntax for [base]:u8 (not implemented yet)
2026-08-12 09:03:31 +01:00
gingerBill
768fedcff4
Minor fixes to labels; restrict to amd64 usage
2026-08-10 13:21:14 +01:00
gingerBill
cee5bd79e0
Fix pinning logic for asm registers
2026-08-10 12:06:28 +01:00
gingerBill
036e38442b
Begin work on lb_emit_asm_template_call
2026-08-09 21:55:36 +01:00
gingerBill
5ac28cdecd
Begin work on semantically type checking asm templates
2026-08-09 18:24:56 +01:00
gingerBill
5e49e6c1a5
Parse asm template
2026-08-09 15:17:57 +01:00
gingerBill
d059dafb09
Merge pull request #7210 from BigBoyBarney/vet-packages
...
Fix `-vet-packages` not working in certain cases
2026-08-05 14:33:12 +02:00
Sylphrena
5629c13aa0
Fix -vet-packages not working in certain cases
2026-08-05 14:06:13 +02:00