Commit Graph

856 Commits

Author SHA1 Message Date
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
kalsprite
29c9c132b0 minor typos 2026-08-04 18:49:33 -07:00
Chaosus
33247c8ca9 Bring back "extra" error line 2026-07-26 19:49:57 +03:00
Chaosus
853134048e Fix error hint for vet tag 2026-07-25 17:35:32 +03:00
callframe
cb7d7a5b7d Allow using absolute path's in foreign import's (#6999)
Document that `-collection` can be used for foreign imports.
Fix absolute path detection on Windows.
2026-07-10 20:45:59 +02:00
Senthilnathan
a880c1abfa Fix parser failing on comments inside if/when ternary 2026-07-07 14:30:59 +05:30
Senthilnathan
d7fc7c653c Fix parser failing on comments inside ternary expressions 2026-07-07 14:18:42 +05:30
gingerBill
40e54a97ed Merge branch 'master' into bill/bedrock 2026-06-24 11:07:02 +01:00
gingerBill
ade003e128 Allow for -> (#simd[N]T) style return types 2026-06-24 10:51:28 +01:00
gingerBill
244430bd4a Allow for struct #raw_union #packed 2026-06-22 12:55:15 +01:00
gingerBill
1c9fa5d0b7 Merge pull request #6731 from odin-lang/bill/expand-values-operator
Support `**` as `expand_values` operator: `**x` == `expand_values(x)`
2026-06-05 11:42:08 +01:00
gingerBill
7a5a73efae Generalize is_foreign_name_valid but add TODO to see how it should work. 2026-06-02 13:21:57 +01:00
gingerBill
b914dc1f32 Change compound literal grammar to match the formal grammar 2026-06-02 11:10:58 +01:00
gingerBill
fb8a9d0839 Support ** as expand_values operator: **x == expand_values(x) 2026-05-25 10:28:15 +01:00
Krzesimir Nowak
b924da10a0 Be more thorough in detecting generic procedure types 2026-05-20 22:11:25 +02:00
Krzesimir Nowak
34b198019f Better error reporting for unary decrement/increment operators
There was a missing routing for those operators in parse_stmt
function.
2026-05-05 15:16:49 +02:00
gingerBill
ea00291519 Begin work on -bedrock mode
Currently disables 128-bit integers, `map` type, and RTTI
2026-05-02 15:06:01 +01:00