Feoramund
f58eded5d2
Fix print segfault by missing argument in or_* shadowed error
2024-06-22 11:45:43 -04:00
Jeroen van Rijn
9f696a646f
Add -build-mode:test.
2024-06-21 16:02:55 +02:00
gingerBill
dab3c832e0
Add #warning(<string>) builtin compile time procedure
2024-06-20 15:32:30 +01:00
gingerBill
c9884906d9
Add #directory
2024-06-20 12:15:55 +01:00
gingerBill
5dc98336a8
Merge pull request #3524 from Feoramund/freebsd-amd64-syscall-errno
...
Add `intrinsics.syscall_bsd`
2024-06-20 11:47:01 +01:00
gingerBill
23351ca8be
Merge pull request #3137 from laytan/show-defineable
...
Add flags to show/export defineable values and warn if a -define is unused in the project
2024-06-20 11:45:52 +01:00
gingerBill
56383e45a7
Fix #3768
2024-06-20 11:44:00 +01:00
gingerBill
e8c17ac356
Merge pull request #3778 from Feoramund/fix-2824
...
Allow custom `main` when `-no-entry-point` is set
2024-06-18 12:46:33 +01:00
Feoramund
0196cc46e3
Allow custom main when -no-entry-point is set
2024-06-18 01:49:55 -04:00
Feoramund
eb5a66c944
Forbid private test cases
2024-06-18 01:28:05 -04:00
Jeroen van Rijn
a66ce4f871
Merge pull request #3773 from Kelimion/res_path_bug
...
Fix `rc.exe` bug with double-quoted `.res` path.
2024-06-16 19:27:13 +02:00
Jeroen van Rijn
eebc0dd026
Fix rc.exe bug with double-quoted .res path.
2024-06-16 19:11:54 +02:00
Feoramund
78a5a27212
Fix bit_set construction crash on constant non-integer field
2024-06-16 12:27:42 -04:00
Jeroen van Rijn
ff4787070d
Revert "Merge pull request #3744 from Mango0x45/master"
...
This reverts commit 45044de0b7 , reversing
changes made to 20c17ba6f9 .
2024-06-14 00:06:55 +02:00
Feoramund
c560553c21
Fix compiler silently returning if parse_packages fails
2024-06-13 13:01:51 -04:00
Jeroen van Rijn
45044de0b7
Merge pull request #3744 from Mango0x45/master
...
Pad ‘^~~~^’-style diagnostic ranges properly
2024-06-13 17:34:17 +02:00
Jeroen van Rijn
c9c7d3270d
Merge branch 'master' of https://github.com/Mango0x45/Odin into pr/3744
2024-06-13 17:27:00 +02:00
Thomas Voss
9f7ac1469f
Generate ranges of the correct length
2024-06-13 17:24:56 +02:00
Jeroen van Rijn
ca9d1f940d
Just change squiggle_extra type to i32.
2024-06-13 17:23:30 +02:00
Thomas Voss
9f190f3937
Generate ranges of the correct length
2024-06-13 17:00:13 +02:00
Thomas Voss
657c516360
Pad ‘^~~~^’-style diagnostic ranges properly
2024-06-13 16:23:34 +02:00
Feoramund
33270f14a4
Fix #3739
2024-06-12 15:31:43 -04:00
Feoramund
5b5402fb23
Add intrinsics.syscall_bsd
...
This is a BSD-style syscall that checks for a high Carry Flag as the
error state. If the CF is high, the boolean return value is false, and
if it is low (no errors) then the boolean return value is true.
2024-06-12 13:07:13 -04:00
gingerBill
c5f7788652
Check to see if matrices are exactly the same type
2024-06-12 12:54:57 +01:00
gingerBill
f57c03c170
Improve matrix type hinting rules a little
2024-06-12 12:40:29 +01:00
gingerBill
eaf1d88287
Merge pull request #3734 from Feoramund/fix-3730
...
Fix #3730
2024-06-11 12:50:41 +01:00
gingerBill
1dc90103bd
Make verification ignorable with a define flag
2024-06-11 12:30:24 +01:00
gingerBill
0b02c67cdf
Minor clean up for backend
2024-06-11 12:19:52 +01:00
gingerBill
9b0e87544a
Unify LLVMVerifyFunction invocations into on place
2024-06-11 12:07:22 +01:00
Feoramund
61c630bbf8
Fix #3730
2024-06-11 05:23:43 -04:00
gingerBill
f1779c85de
Fix #3727
2024-06-10 18:50:53 +01:00
gingerBill
eef2aef021
Fix #3724
2024-06-10 15:07:45 +01:00
gingerBill
fa3cae2bb0
Add intrinsics.procedure_of
...
```odin
foo :: proc(x: $T) { fmt.println(x) }
bar :: intrinsics.procedure_of(foo(int(123))) // parameters are never ran at compile time, similar to `size_of`
bar(333) // prints 333
```
2024-06-10 15:02:34 +01:00
gingerBill
1945218f6d
Improve parsing for label: #reverse for and label: #partial switch
2024-06-10 14:18:33 +01:00
Feoramund
71a812e7fe
Use get_final_microarchitecture() for ODIN_MICROARCH_STRING
2024-06-10 05:30:16 -04:00
Jeroen van Rijn
741ee00b64
Merge pull request #3721 from Feoramund/add-tuning-consts
...
Add compilation-related constants
2024-06-10 10:31:12 +02:00
Jeroen van Rijn
d3ae70264e
Merge pull request #3720 from Feoramund/fix-force-inline-err-typo
...
Fix typo in a `#force_inline` error message
2024-06-10 10:25:09 +02:00
Feoramund
ff7fcb6d38
Add compilation-related constants
...
`ODIN_VERSION_HASH` is the `git` SHA hash of the commit the Odin
compiler was built with.
`ODIN_MICROARCH_STRING` is the string passed to `-microarch` when
the program was built.
`ODIN_OPTIMIZATION_MODE` is an enum value of which optimization mode was
used to build the program.
2024-06-10 03:47:20 -04:00
Feoramund
45d1328a85
Fix typo in a #force_inline error message
2024-06-10 00:50:16 -04:00
Feoramund
8702bf00d5
Remove _ in Syntax_Error verbose message
2024-06-09 22:47:43 -04:00
Feoramund
9d28f2e18c
Fix or_or_<branch> error messages
2024-06-09 22:46:45 -04:00
gingerBill
7c529e990d
Add -target:freestanding_arm32 (experimental)
2024-06-09 17:48:46 +01:00
gingerBill
ef7c6b9895
Re Fix #3713
2024-06-09 14:07:07 +01:00
gingerBill
c17981ac38
Add edge case to error_operand_no_value
2024-06-09 14:02:01 +01:00
gingerBill
4b52f7fe2b
Fix #3713
2024-06-09 13:35:22 +01:00
gingerBill
8fcfd8c506
Fix sign flag
2024-06-09 13:21:22 +01:00
gingerBill
e0d0dc704c
Make f32(u8) etc do an immediate cast to f32(u32(u8)) in code generation
2024-06-09 13:20:48 +01:00
Jeroen van Rijn
14f08ff02b
Merge pull request #3712 from laytan/fix-large-ints-amd64sysv-abi
...
fix large ints amd64 sysv abi
2024-06-09 11:01:31 +02:00
Jeroen van Rijn
5d5ef78de9
Merge pull request #3711 from laytan/fix-swizzle-crash
...
fix swizzle crash due to wrong alignment
2024-06-09 11:00:15 +02:00
Jeroen van Rijn
e595bdc805
Merge pull request #3710 from laytan/fix-unreachable-with-complex-param-or-return-inits
...
fix unreachable hit when param and/or return have complex inits
2024-06-09 10:59:26 +02:00