Commit Graph

739 Commits

Author SHA1 Message Date
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
Feoramund
eb5a66c944 Forbid private test cases 2024-06-18 01:28:05 -04: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
Feoramund
71a812e7fe Use get_final_microarchitecture() for ODIN_MICROARCH_STRING 2024-06-10 05:30:16 -04: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
gingerBill
68781f8dd3 Remove unnecessary Wait_Signal checks 2024-06-07 00:11:00 +01:00
gingerBill
7044a7d776 Try to fix a possible race condition with polymorphic record parameters 2024-06-06 23:55:48 +01:00
Laytan Laats
9a95049393 -show-defineables and -export-defineables 2024-06-06 19:44:54 +02:00
gingerBill
9ef43fc782 Add @(rodata) 2024-06-06 15:16:34 +01:00
Feoramund
cb8faf5b74 Remove -test-name in favor of test runner option
`-define:ODIN_TEST_NAMES=...` is capable of selecting test by package
and name or name only, with the ability to access packages included by
`-all-packages`.
2024-06-02 14:54:32 -04:00
gingerBill
e737122ce8 Add experimental target orca_wasm32 2024-05-30 21:58:27 +01:00
gingerBill
66acbb7fed Add @(link_suffix=<string>) 2024-05-30 21:48:23 +01:00
gingerBill
a1b8749e74 Delay checking foreign import paths until after global scope is checked 2024-05-28 00:23:23 +01:00
gingerBill
38fffff06a Begin moving foreign import import paths to be evaluated in the semantic phase rather than parsing. 2024-05-27 23:51:43 +01:00
gingerBill
8dec4f6ed3 Merge pull request #3570 from jasonKercher/linux-arm32
Get the compiler to build and work on arm32 Linux
2024-05-20 00:05:57 +01:00
gingerBill
e71cd871c4 Reimplement -build-mode:static/-build-mode:lib 2024-05-16 14:27:05 +01:00
jasonkercher
2183140e71 arm32 now compiles and runs demo 2024-05-10 13:24:43 -04:00
Andreas T Jonsson
7feff1c113 Merged with master 2024-05-02 09:27:46 +02:00
Feoramund
a573161abd Allow @(init) procs to be @(disabled) 2024-04-28 14:42:04 -04:00
gingerBill
30cfdd73b0 Add extra asserts 2024-04-28 14:45:59 +01:00
gingerBill
4bea5dbac1 Correct map usage 2024-04-26 15:09:08 +01:00
gingerBill
2b26384b89 Implement dumb PtrMap 2024-04-26 15:04:46 +01:00
gingerBill
c685b404ea Implement dumb StringMap 2024-04-26 14:15:22 +01:00
gingerBill
a3e77dcc3b Minor clean up 2024-04-26 13:25:08 +01:00
gingerBill
7305478261 Minor changes 2024-04-26 13:12:23 +01:00
Andreas T Jonsson
9a008d10f3 Merge branch 'master' into netbsd 2024-04-25 22:04:40 +02:00
gingerBill
ece78d22d2 Add -no-type-assert and ODIN_NO_TYPE_ASSERT 2024-04-18 11:22:31 +01:00
gingerBill
5c52f3cf2f Add ODIN_NO_BOUNDS_CHECK 2024-04-18 11:13:44 +01:00
Andreas T Jonsson
4558f3992a Initial commit of NetBSD port 2024-04-16 14:27:29 +02:00
gingerBill
aab122ede8 Remove ? 2024-04-11 15:59:22 +01:00
gingerBill
503964c769 Add @(static) check 2024-04-11 15:57:13 +01:00
gingerBill
b2e887be36 Change stack overflow check to >256 KiB 2024-04-11 15:55:01 +01:00
gingerBill
b6d2ac11b8 Add -vet-unused-variables and `-vet-unused-imports (-vet-unused is both) 2024-04-11 15:24:36 +01:00
gingerBill
0abbf3ba0a Fix #3412 2024-04-11 13:57:37 +01:00
gingerBill
e42b16b106 Merge pull request #3366 from laytan/fix-vet-scope-bug
fix vet scope bug skipping some scopes
2024-04-03 11:40:01 +01:00
Laytan Laats
b754c1e072 fix -vet warning for stack overflows not showing up
Due to the placement of this code, the warning would only ever be added
if the variable was also either unused or shadowed.
2024-04-03 01:05:54 +02:00
Laytan Laats
21fcf7c874 fix vet scope bug skipping some scopes
Fixes #3146
2024-04-02 23:59:38 +02:00
gingerBill
cf9bdc134c Fix #3341 2024-03-27 16:48:51 +00:00
gingerBill
3bc7c51325 Merge pull request #3283 from laytan/darwin-new-wait-on-address-api
darwin: use new wait on address API if possible
2024-03-27 11:20:32 +00:00
gingerBill
fa84272d5e Merge pull request #3335 from rick-masters/fix_incomplete_struct_type
Don't add type info for incomplete structs.
2024-03-26 16:08:12 +00:00
gingerBill
0989eac681 Add extra sanity check for nullptr 2024-03-26 14:57:06 +00:00
rick-masters
b8c0a02164 Don't add type info for incomplete structs. 2024-03-26 14:34:56 +00:00
gingerBill
1009182f7b Fix another #soa race condition bug 2024-03-26 14:13:55 +00:00
gingerBill
e100d9264f Merge pull request #3329 from laytan/fix-darwin_amd64-f16-emulation-on-older-microarches
darwin: fix amd64 f16 emulation
2024-03-25 16:35:57 +00:00
Laytan Laats
b2a35683a4 darwin: fix amd64 f16 emulation
Fixes #3222
2024-03-25 14:07:49 +01:00
gingerBill
223a336eb4 Fix #3249 2024-03-24 13:45:10 +00:00
gingerBill
87688936c6 Improve error messages for some wrong constant value attributes 2024-03-24 13:36:50 +00:00
gingerBill
517d7ae0b0 Add error block around error_line calls 2024-03-23 17:51:56 +00:00
gingerBill
624b870f28 Add some basic escape analysis errors for return &x 2024-03-23 14:58:10 +00:00
gerigk
800014e40c Remove entry point when compiled with no-entry-point as shared library 2024-03-20 23:18:08 +01:00