gingerBill
1b0e98116d
Revert changes to in_single_threaded_checker_stage
2024-07-15 01:47:52 +01:00
gingerBill
eb6805ef40
Disable the need for mutexes in single threaded checker stage
2024-07-15 01:44:23 +01:00
gingerBill
e4ba786948
Remove use of mutex in single threaded code
2024-07-15 01:29:57 +01:00
gingerBill
3311ea1c76
Keep MSVC happy with secure versions of C calls
2024-07-15 00:38:10 +01:00
gingerBill
018026d844
Use gb_zero_* calls
2024-07-15 00:36:00 +01:00
gingerBill
6959554040
Calculate size and alignment, and reuse memory for all variadic calls within a procedure body
2024-07-14 13:44:47 +01:00
gingerBill
3dff83f3dc
Mock out #no_capture for future use
2024-07-14 12:39:30 +01:00
gingerBill
edc793d7c1
Add #no_capture args: ..T to reuse the backing array stack memory
2024-07-14 11:39:05 +01:00
Laytan Laats
1a20b78633
remove misleading @(optimization_mode) values and make "none" inhibit optimizations
2024-07-08 21:06:57 +02:00
gingerBill
0f664893dd
Add sort for global types and procedures
2024-07-08 13:59:25 +01:00
gingerBill
657bc88535
Allow x :: y when cond else proc(...){...}
2024-07-04 13:48:52 +01:00
gingerBill
52c219690a
Ff @(disabled=true), do not add that entity's dependencies to the set
2024-07-04 13:09:31 +01:00
Laytan Laats
6f1cc8071c
wasm: add foreign import and linking of wasm object files
2024-07-02 15:28:08 +02:00
gingerBill
17efb87eef
Add -custom-attribute
2024-06-28 11:44:39 +01:00
gingerBill
ec38215842
Fix #3803
2024-06-28 10:09:46 +01:00
gingerBill
c098739484
Remove @(warning) and #warning(...)
2024-06-25 09:36:59 +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
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