gingerBill
868ab27720
Add @(ignore_duplicates) for foreign import declarations
2025-01-28 10:31:46 +00:00
gingerBill
8d400f43fd
Merge pull request #4607 from zen3ger/parapoly-proc-fixes
...
Fix crash when proc return type is undeclared parapoly variable
2025-01-01 17:40:04 +00:00
gingerBill
c8ad2a4245
Support multiple paths for wasm in foreign import
2025-01-01 15:12:54 +00:00
Roland Kovacs
f2f952b344
Fix crash when proc return type is undeclared parapoly variable
...
Disallow the declaration of new parapoly variables in return types, when
the procedure's parapoly scope is itself. This happens if e.g.:
`foo :: proc() -> $T`.
Closes #3949 , #4294 , #4563
2024-12-22 02:31:25 +01:00
gingerBill
fd5376ba88
Allow @(require_results) on foreign blocks
2024-08-14 11:28:49 +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
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
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
Laytan Laats
315695b4f8
collect and show docs of defineables
2024-06-07 15:08:41 +02:00
Laytan Laats
b818a77131
check if -define is actually used
2024-06-06 19:46:01 +02: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
Laytan Laats
b47a15733d
implement #exists(path)
2024-06-04 19:06:13 +02: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
a61ae7c861
Fix #3427
2024-04-16 13:31:49 +01:00
gingerBill
1009182f7b
Fix another #soa race condition bug
2024-03-26 14:13:55 +00:00
gingerBill
e5629dafd0
Potentially fix a race condition with parapoly types (related to #3328 )
2024-03-25 13:23:43 +00:00
gingerBill
80ecf5b68a
On x: [?]T = {...}, minimize errors by using the [?]T expression as a kind of hint
2024-03-19 13:32:37 +00:00
gingerBill
5a84a08225
Add general support for bit_fields
2024-02-22 17:24:42 +00:00
gingerBill
5c4485f657
Add #load_directory(path: string) > []runtime.Load_Directory_File
2024-02-09 15:18:29 +00:00
gingerBill
aff8f06e3c
Add frontend stuff instrumentation tooling
...
//+no-instrumentation
@(no_instrumentation)
@(instrumentation_enter)
@(instrumentation_exit)
2024-01-07 19:56:00 +00:00
gingerBill
2820bbc269
Add @(entry_point_only) for procedures
2024-01-05 13:38:30 +00:00
gingerBill
648b83d6ea
Add or_break and or_continue constructs
2023-09-30 15:04:17 +01:00
gingerBill
65206fe33e
Go through loads of TODOs
2023-08-01 11:39:04 +01:00
gingerBill
0de7df9eab
Improve //+vet; remove using in many places; add //+vet !using-stmt where necessary
2023-07-31 11:37:14 +01:00
gingerBill
60e509b1e0
Add separate -vet flags; -vet-using-* flags; //+vet file flags
2023-07-31 11:09:19 +01:00
gingerBill
581eebb197
Fix a race condition when produced anonymous procedure literals with -use-separate-modules
2023-06-13 13:14:59 +01:00
gingerBill
dc55e88588
Add @(deferred_*_by_ptr=<proc>)
2023-04-15 16:04:04 +01:00
gingerBill
2c4a478987
Add @(extra_linker_flags=<string>)
2023-03-21 13:30:58 +00:00
gingerBill
8a2a70a3c2
Fix overriding procedure information for literals
2023-02-17 13:00:37 +00:00
gingerBill
94c1331c07
Implement @(fini) (opposite of @(init))
2023-02-15 11:31:51 +00:00
gingerBill
e97bf2ef35
Minimize contention on the deps for decls
2023-01-12 15:38:23 +00:00
gingerBill
cbe3791b42
Replace all queues with MPSCQueue where possible
2023-01-12 13:11:17 +00:00
gingerBill
b470ceb470
Correct mpsc_dequeue
2023-01-12 12:59:09 +00:00
gingerBill
c15db05199
Implement MPSCQueue
2023-01-12 12:41:53 +00:00
gingerBill
7124d541a1
General optimizations
2023-01-11 18:10:27 +00:00
gingerBill
12e42d92d3
Localize GenProcsData to the entity itself
2023-01-04 15:35:24 +00:00
gingerBill
faa735d0c7
Localize gen_types mutexes
2023-01-04 15:15:12 +00:00
gingerBill
d4e18109da
Move walking of dependencies for procedures to just before calculating the min dep set
2023-01-04 13:52:38 +00:00
gingerBill
ec69101101
Convert minimum_dependency_type_info_set to use a PtrMap
2023-01-03 18:39:37 +00:00
gingerBill
bb80c1b059
Add type_and_value_mutex to DeclInfo
2023-01-03 17:07:53 +00:00
gingerBill
dc317c8cd8
Make BlockingMutex
2023-01-03 15:50:31 +00:00
gingerBill
774fea1e63
Use RwMutex for gen_procs
2023-01-03 15:47:25 +00:00
gingerBill
485c606672
Clarify RwLocks for add_dependenies_from_unpacking
2023-01-03 15:37:35 +00:00
gingerBill
3dee3205b2
Use RwMutex for DeclInfo `deps
2023-01-03 15:34:52 +00:00
gingerBill
c7a704d345
Use RwMutex for the Scope
2023-01-03 15:26:47 +00:00
gingerBill
8ece92f1f6
Minimize the parapoly mutex usage a bit
2023-01-02 23:21:16 +00:00