gingerBill
96be494730
Fix append_nothing
2022-08-26 22:21:19 +01:00
gingerBill
12c8db927b
Remove direct core:mem dependency in core:reflect
2022-08-26 16:46:19 +01:00
gingerBill
027ea587fc
Unify mem and runtime logic
2022-08-26 16:45:40 +01:00
gingerBill
026900c7f0
Add optional n parameter to strconv.parse_* procedures to state how many bytes could be read
2022-08-26 16:31:42 +01:00
gingerBill
ffa87f55c4
Add a return value to append that states the number of elements that were returned
2022-08-26 16:20:47 +01:00
gingerBill
c9eed04b51
Add comment regarding the layout of a map to explain how it is iterated
2022-08-26 16:19:48 +01:00
gingerBill
b50b6b9f33
Add reflect.get_union_variant
2022-08-26 16:19:16 +01:00
gingerBill
8fd5bef0bd
Fix #1977
2022-08-26 12:14:04 +01:00
gingerBill
d6b49994a2
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-08-26 12:11:34 +01:00
gingerBill
776927709b
Check for using variables
2022-08-26 12:11:27 +01:00
gingerBill
af1b3b6368
Correct check_expr_is_stack_variable
2022-08-24 16:03:04 +01:00
gingerBill
d56789e5a7
Add very basic escape analysis on return values
2022-08-24 15:58:20 +01:00
gingerBill
aeacf3a9d8
Correct max alignment handling throughout the llvm backend
2022-08-24 13:07:41 +01:00
gingerBill
4ba486baa2
Add extra max alignment parameter for metrics (specifically for SIMD)
2022-08-24 12:58:16 +01:00
gingerBill
f1ffd90294
Fix #1966
2022-08-24 12:52:57 +01:00
gingerBill
cb9e16f4df
Correct syscalls for linux_i386
2022-08-24 12:37:56 +01:00
gingerBill
2908923db9
Fix #1972
2022-08-24 12:18:42 +01:00
gingerBill
7fe36de069
Correct Try SRWLock related procedures to return BOOLEAN rather than BOOL
2022-08-22 22:24:51 +01:00
gingerBill
b3e3b6c656
Fix #1965
2022-08-20 11:17:47 +01:00
gingerBill
1734286252
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-08-19 16:57:44 +01:00
gingerBill
c8c076f970
Fix #1963
2022-08-19 16:57:36 +01:00
gingerBill
afec321db2
Add core:sys/valgrind package for valgrind, memcheck, and callgrind
2022-08-17 16:09:03 +01:00
gingerBill
6e9f9e6f3c
Fix typo
2022-08-17 15:57:56 +01:00
gingerBill
f504b200a9
Improve unreachable generation by putting a trap before it
2022-08-17 15:54:45 +01:00
gingerBill
82e840a0ca
EXPERIMENTAL intrinsics.valgrind_client_request
2022-08-17 13:52:13 +01:00
gingerBill
82765ca96e
Fix RtlWaitOnAddress behaviour with SetLastError(RtlNtStatusToDosError(status)) if an error occurred
2022-08-17 13:12:45 +01:00
gingerBill
f2908cbc5a
Remove debug crap with inlining
2022-08-16 16:36:13 +01:00
gingerBill
5337b0b471
Revert "Remove debug message"
...
This reverts commit 22d16c20f8 .
Revert "Correct global constant procedure initialization"
This reverts commit 697c839c84 .
Revert "Clean up how procedures are typed in LLVM's dumb type system"
This reverts commit de8bd88d2a .
2022-08-16 16:16:36 +01:00
gingerBill
e51afc3509
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-08-16 12:02:22 +01:00
gingerBill
2c004dbcc9
Improve matrix conversion rules
2022-08-16 12:02:14 +01:00
gingerBill
208f168564
Correct assignment
2022-08-15 16:31:59 +01:00
gingerBill
737bccbd5e
Add math.divmod and math.floor_divmod
2022-08-15 16:31:43 +01:00
gingerBill
5a9422b6bc
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-08-15 10:27:57 +01:00
gingerBill
0c8d59dd20
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-08-15 10:24:23 +01:00
gingerBill
881d18ee88
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-08-15 10:23:56 +01:00
gingerBill
5c298c1501
Minor text alignment
2022-08-15 10:22:32 +01:00
gingerBill
a83ca2120e
Remove unused import
2022-08-14 21:50:41 +01:00
gingerBill
81799f7f78
Fix #1950
2022-08-14 21:50:21 +01:00
gingerBill
8e7c7eeeba
Fix lb_emit_ptr_offset
2022-08-12 13:48:10 +01:00
gingerBill
22d16c20f8
Remove debug message
2022-08-12 12:29:32 +01:00
gingerBill
697c839c84
Correct global constant procedure initialization
2022-08-12 12:29:11 +01:00
gingerBill
de8bd88d2a
Clean up how procedures are typed in LLVM's dumb type system
2022-08-12 11:15:12 +01:00
gingerBill
a19494d3a7
Minor refactoring of lb_build_addr
2022-08-11 16:12:07 +01:00
gingerBill
d2a362fd52
Clean up compound literal backend stuff some more
2022-08-11 16:07:55 +01:00
gingerBill
0f3562ef02
Improve compound literal generation for array-like types
2022-08-11 16:01:46 +01:00
gingerBill
03f683f9e7
Improve emit store for large constants
2022-08-11 15:19:27 +01:00
gingerBill
cecadce86d
Allow for chaining of '#load(path) or_else #load(path)'
2022-08-11 14:42:29 +01:00
gingerBill
a7c3906003
#load(path, type)
...
where `type` can be `string` or `[]T` where `T` is a simple type
2022-08-11 14:30:14 +01:00
gingerBill
70dc0c15fd
Improve type hint for #load to allow for string types
2022-08-11 13:43:35 +01:00
gingerBill
9eeed9d5bd
Simplify #load_or for the time being
2022-08-11 13:35:24 +01:00
gingerBill
a054c2934e
Cache #load data and hashes
2022-08-11 13:32:45 +01:00
gingerBill
38102f14c1
Add #load(path) or_else default in favour of #load_or(path, default)
2022-08-11 13:01:54 +01:00
gingerBill
0997df4fcf
Move builtin directives to a separate procedure
2022-08-11 12:39:05 +01:00
gingerBill
a5a56e061c
Fix to png example.odin
2022-08-11 11:10:05 +01:00
gingerBill
84f9fb706b
General clean up of LLVM*GEP2 code
2022-08-10 11:36:25 +01:00
gingerBill
812823cad8
Wrap all LLVMGetElementType uses
2022-08-09 21:17:32 +01:00
gingerBill
0655260378
Comment out a bit of code in lb_is_const_or_global
2022-08-09 21:13:52 +01:00
gingerBill
cfc3723879
Remove other uses of LLVMGetElementType on pointer types
2022-08-09 21:12:31 +01:00
gingerBill
4c3281b3f2
Disallow Early CSE on -debug builds
2022-08-09 18:09:26 +01:00
gingerBill
ff94c605e0
Minor change to lb_emit_store for storing nil to procedure variables
2022-08-09 18:08:30 +01:00
gingerBill
cb0a59bb2c
Eliminate use of LLVMGetElementType for pointers
2022-08-09 15:36:18 +01:00
gingerBill
838554460b
Add basic "lock" around Log_Allocator to minimize errors with allocation logging loops
2022-08-08 15:25:11 +01:00
gingerBill
659c3c528d
Update delete to pass size in bytes to free when possible
2022-08-08 15:16:18 +01:00
gingerBill
60aeab3c38
Update fmt.odin
2022-08-08 15:07:19 +01:00
gingerBill
5e3cf45df3
Add #soa pointer type to aid with refactoring to #soa data types
...
a: #soa[16]Foo
p := &a[6]
#assert(type_of(p) == #soa^#soa[16]Foo)
p^.x = 123
p.x = 123
2022-08-08 15:07:00 +01:00
gingerBill
4633591918
Remove unnecessary pointer
2022-08-08 14:28:36 +01:00
gingerBill
0e6a8b7c72
Make Growing_Arena reserve memory first and then commit as needed
...
It just committed all at once to begin with
2022-08-08 12:43:18 +01:00
gingerBill
147848ca20
Clean up naming conventions
2022-08-08 12:30:58 +01:00
gingerBill
cde002c579
Fix i18n
2022-08-08 12:27:23 +01:00
gingerBill
f23d93ba89
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-08-08 12:23:48 +01:00
gingerBill
c97a8418dc
Clean-up and unification for the allocation procedures
2022-08-08 12:23:19 +01:00
gingerBill
4aca9372a6
Improve resize call
2022-08-08 12:11:30 +01:00
gingerBill
4912ecc3ea
Add log.Log_Allocator
2022-08-08 11:57:51 +01:00
gingerBill
8d1f46d837
Use sync.Mutex rather than a spin lock for the threading example
2022-08-05 12:45:26 +01:00
gingerBill
a2117d23b2
Change unreachable with panic
2022-08-05 12:41:25 +01:00
gingerBill
a58e4d0359
Allow for foo() or_else unreachable() and other diverging procedures
2022-08-05 12:19:57 +01:00
gingerBill
576914aee1
Make unreachable() a built-in compiler-level procedure
2022-08-05 11:57:33 +01:00
gingerBill
8171f8209a
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-08-05 11:37:28 +01:00
gingerBill
64ff05303c
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-08-05 11:36:20 +01:00
gingerBill
6caab6225d
Fix #1930
2022-08-05 11:36:12 +01:00
gingerBill
e0ecdd4b24
Simplify logic of append of zero sized elements
2022-08-02 11:13:53 +01:00
gingerBill
5168cf03a9
Remove dead #maybe code
2022-08-01 15:38:50 +01:00
gingerBill
b886ae6515
Simplify parser logic for field prefixes
2022-08-01 15:32:17 +01:00
gingerBill
277a973b98
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-08-01 15:24:23 +01:00
gingerBill
0ec4d97bfd
Correct parser logic for is_token_field_prefix
2022-08-01 15:24:17 +01:00
gingerBill
97acc57649
Simplify field prefix handling
2022-08-01 13:17:10 +01:00
gingerBill
83c8c48ed7
Simplify ast parsing for prefixes
2022-08-01 13:07:49 +01:00
gingerBill
220dfd7440
Minor clean up of wasi_api.odin
2022-07-25 17:00:32 +01:00
gingerBill
bce8819ed5
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-07-25 12:12:32 +01:00
gingerBill
5f2b220a85
Fix minor issue with a lack of a trailing comma
2022-07-25 12:12:25 +01:00
gingerBill
d7f9f7f170
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-07-24 23:07:41 +01:00
gingerBill
08f5259d77
Replace insert_at with inject_at and assign_at
2022-07-24 23:07:35 +01:00
gingerBill
9f64de9568
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-07-24 22:51:39 +01:00
gingerBill
0ebe9ba487
Fix #1901
2022-07-24 22:51:34 +01:00
gingerBill
2bdbce55f9
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-07-24 22:46:07 +01:00
gingerBill
9614ca92f0
Fix #1834
2022-07-24 22:46:00 +01:00
gingerBill
b28d4b753b
Temp fix for lb_emit_store
2022-07-24 20:58:50 +01:00
gingerBill
e6ab4f4856
Force memset instead of store zeroinitializer when the value is large
2022-07-24 20:22:50 +01:00
gingerBill
c8ab1b7ee1
Add #by_ptr procedure attribute to enforce a parameter to be passed by pointer internally
2022-07-24 13:11:48 +01:00
gingerBill
9f10487678
Fix #1493
2022-07-24 12:59:34 +01:00