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
9ef43fc782
Add @(rodata)
2024-06-06 15:16:34 +01:00
gingerBill
8db87170a9
Clean up handle_link_name handling of link_suffix
2024-05-30 21:53:23 +01:00
gingerBill
66acbb7fed
Add @(link_suffix=<string>)
2024-05-30 21:48:23 +01:00
gingerBill
8e263de4aa
Fix error message handling
2024-05-11 13:59:06 +01:00
gingerBill
d85c8f0b2c
Fix #3555
2024-05-09 10:58:57 +01:00
Laytan Laats
25f1d0906d
compiler: improve target features support
2024-05-02 00:59:52 +02:00
gingerBill
517d7ae0b0
Add error block around error_line calls
2024-03-23 17:51:56 +00:00
gingerBill
5f001f6d51
Allow casting between a bit_field and its backing type
2024-02-22 18:15:13 +00:00
gingerBill
3c47503780
Improve foreign variable fuzzy type checking
2024-01-28 23:35:01 +00:00
gingerBill
67dcd916e8
Update instrumentation signature to support runtime.Source_Code_Location as last parameter.
2024-01-09 11:01:18 +00:00
gingerBill
f4782157d3
Implement instrumentation pass
2024-01-07 21:34:44 +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
d7d23e65ea
Clean up error block usage
2024-01-05 13:47:00 +00:00
gingerBill
2820bbc269
Add @(entry_point_only) for procedures
2024-01-05 13:38:30 +00:00
gingerBill
963559676e
Fix build times for -o:<string> in LLVM-17
2023-09-21 16:48:00 +01:00
gingerBill
b72f009d87
Disallow aliasing of any and typeid
2023-08-08 15:10:57 +01:00
gingerBill
65206fe33e
Go through loads of TODOs
2023-08-01 11:39:04 +01:00
gingerBill
69e1f42aed
Replace a lot of warnings with errors; remove deprecated stuff
2023-08-01 11:11:15 +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
921530dd01
Fix to allow procedure groups on objective-c types
2023-07-17 12:43:56 +01:00
gingerBill
1247d36a12
Fix #2562 caused by inlining of procedure call
2023-05-29 22:57:42 +01:00
gingerBill
8bf32ac697
Minor change to handling of propagation of errors with --- as a value
2023-05-22 12:53:29 +01:00
gingerBill
d5a8f2298e
Restrict --- to variable declarations only
2023-05-22 12:37:26 +01:00
gingerBill
56c0d32ea0
Fix #2526
2023-05-18 11:52:16 +01:00
gingerBill
e24315eed8
Improve grammar
2023-04-15 16:16:16 +01:00
gingerBill
5da76ae34b
Add struct #no_copy
2023-04-15 15:37:32 +01:00
bumbread
5134d6bc63
rename -no-tls to -no-thread-local
2023-03-14 16:32:42 +11:00
bumbread
5f3b6c9722
Added -no-tls flag
2023-03-13 20:25:13 +11:00
gingerBill
f5d507a9b9
Improve errors about conversions of constant integers
2023-02-22 11:30:08 +00:00
gingerBill
20eacc4a84
Fix issue that conflicts with constant parapoly procedures and deferred_* procedures
2023-02-19 12:10:28 +00:00
gingerBill
c40b6c7c2f
Add constant data to the identifier directly
2023-02-17 13:02:41 +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
38136e15fc
add_deps_from_child_to_parent always
2023-01-12 15:44:55 +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
520ff731de
Add ArenaTemp to the compiler
2023-01-12 00:47:20 +00:00
gingerBill
1517f1d779
Add uncomment add_type_info_type calls for type assertions
2023-01-05 11:54:21 +00:00
gingerBill
9455918eec
Fix min dep type info problem caused by const ref of map_set
2023-01-04 22:20:18 +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
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
69934c3b0b
More for_array(i, y) to for (x : y) translations
2023-01-03 13:04:09 +00:00
gingerBill
747a11a954
Allow all set entry types to be implicitly cast to their key/value type to allow for easier iteration
2023-01-03 12:18:35 +00:00
gingerBill
600f2b7284
Use heap_allocator for all hash set types
2023-01-03 11:53:59 +00:00
gingerBill
69b075782b
Use a package local mutex for add_type_and_value
2023-01-02 22:40:28 +00:00
gingerBill
bc9ee8e1a4
Remove loops within futex signals on Linux
2023-01-02 22:13:49 +00:00