gingerBill
65b9dbe13f
Clean-up OS constants; Clean-up procs_wasm32.odin
2020-07-09 17:21:40 +01:00
gingerBill
5b7c83d871
Add strings.pop_byte strings.pop_rune
2020-07-08 23:15:48 +01:00
gingerBill
92363da58e
Add -show-system-calls; Update runtime for windows_386; Fix some minor bugs
2020-06-30 10:09:58 +01:00
gingerBill
0ea64182f1
Begin work on windows 386
2020-06-29 17:35:33 +01:00
gingerBill
86448ee044
Add raw_data to replace cases in which &x[0] was used
2020-06-29 15:58:24 +01:00
gingerBill
a6edcf4f18
Fix ABI typo bug; Add pop_safe and pop_front_safe
2020-06-22 21:03:57 +01:00
gingerBill
2b27300387
Fix LLVM code gen bug
2020-06-22 16:57:21 +01:00
gingerBill
fb3aeccd36
Add built-in Maybe
2020-06-22 13:25:19 +01:00
gingerBill
9f596d6f34
Clean up package log code
2020-06-19 11:18:23 +01:00
gingerBill
f70939ab4f
Use windows specific exception traps
2020-06-15 12:39:29 +01:00
gingerBill
1a4e2196bd
Fix runtime.bswap_16
2020-06-05 14:12:30 +01:00
Tetralux
04ceb5d20c
Fix temporary allocator resizing
2020-06-04 21:49:07 +00:00
gingerBill
d80049bfd2
Change runtime.Type_Info_Enum_Value to be i64 internally rather than a union
2020-06-03 21:10:07 +01:00
gingerBill
1d7f99cbdf
Remove mem_zero from make; Implement custom memset for windows amd64
2020-05-27 20:17:58 +01:00
gingerBill
098699103d
Begin work on supporting wasm32 architecture
2020-05-25 12:46:23 +01:00
gingerBill
ff92eb9112
Relative pointers
2020-05-15 17:37:00 +01:00
gingerBill
8b066b2456
Fix runtime.memset issue
2020-05-14 17:56:24 +01:00
gingerBill
e0a242e9a1
Enforce explicit context definition for procedure calls
2020-05-14 13:44:28 +01:00
gingerBill
f661d34049
Implement Explicit context creation #639
2020-05-14 00:13:26 +01:00
gingerBill
f6c7a0c9b8
Fix -llvm-api memset "bug"
2020-05-13 23:51:51 +01:00
gingerBill
d51b98a8d2
Add extra 128 bit integer procedures
2020-05-13 13:46:32 +01:00
gingerBill
ba4363d678
Improve append_elem(s) logic
2020-05-02 12:09:25 +01:00
gingerBill
4236e870d7
Fix type assertion bug #619
2020-04-21 23:26:02 +01:00
gingerBill
4438b3e7af
Fix LLVM API backend for procedure "constant" values
2020-04-17 13:50:28 +01:00
gingerBill
9e698b720f
Change behaviour for zero-sized value types of array-related types; Fix make behaviour to always zero memory
2020-04-12 10:41:44 +01:00
gingerBill
90593fe6ae
Endian specific floating point types (e.g. f32be)
2020-04-11 21:34:55 +01:00
gingerBill
baf5b9edc3
Add runtime.bswap_* required for -llvm-api
2020-04-11 19:26:16 +01:00
gingerBill
3f638f92e2
Fix -vet warning in core.odin for intrinsics not being used
2020-04-04 13:48:53 +01:00
gingerBill
93955a0fd8
Remove context.std* parameters; Fix unary boolean not
2020-03-19 15:03:02 +00:00
gingerBill
18fb6a4be4
Merge branch 'master' into llvm-integration
2020-03-15 14:31:26 +00:00
gingerBill
8dba0e332c
Fix #590
2020-03-15 14:29:45 +00:00
gingerBill
d4e95282c2
Fix llvm.memset for both backends
2020-03-08 18:42:30 +00:00
gingerBill
28502ba53b
Fix context system; add more to -show-more-timings for LLVM API; Add ODIN_USE_LLVM_API global constant
2020-03-08 12:34:36 +00:00
gingerBill
db7a3ffd2a
Merge branch 'master' into llvm-integration
2020-03-05 21:12:16 +00:00
gingerBill
e92fdb4a99
x if cond else y and x when cond else y expressions
2020-03-05 20:34:30 +00:00
gingerBill
6151fdb324
Merge branch 'master' into llvm-integration
2020-03-04 19:27:01 +00:00
gingerBill
2fe0eaf2ad
Fix formatting
2020-03-04 13:10:39 +00:00
gingerBill
a27c68f526
Type_Info initialization
2020-02-29 11:12:37 +00:00
gingerBill
8ec5987ae1
Merge branch 'master' into llvm-integration
2020-02-29 09:55:25 +00:00
gingerBill
8f42958ba3
Fix __dynamic_array_reserve
2020-02-26 12:58:22 +00:00
gingerBill
4d7270cec9
Fix __dynamic_array_reserve to allow for zero sized elements
2020-02-26 12:55:56 +00:00
gingerBill
e197af766d
Merge branch 'master' into llvm-integration
2020-02-23 10:39:57 +00:00
gingerBill
2180f4a475
Basic work on obj generation
2020-02-23 10:04:25 +00:00
Mikkel Hjortshoej
9d5692ae68
Enhance logger interface with 'f' and not 'f' variants, also move level detection out
2020-02-10 01:26:04 +01:00
gingerBill
0f399a7294
Add union #maybe
2020-02-01 11:10:28 +00:00
Tetralux
abe8789890
Fix make(map[K]V, 0) by ensuring reserve always sets an allocator
...
Currently, `make(map[K]V, 0)` asserts, because trying `reserve` zero items does not set the allocator; it early-outs.
`__dynamic_map_reserve` assumed that `__dynamic_array_reserve` would always set the allocator - even if given a desired capacity of `0`.
Rather than making `__slice_resize` just _also_ set the default allocator if there isn't one, this makes `__dynamic_array_reserve` always set the allocator, even if it is about to early out.
This is because users are lead to understand that `append` will set the allocator if one is not already set - `reserve` should work the same way.
2020-01-26 01:03:14 +00:00
gingerBill
b542ef273d
Begin work on -target:windows_386
2020-01-18 14:44:53 +00:00
gingerBill
e1ccba3de5
Improve runtime/default_allocators.odin
2020-01-11 20:12:50 +00:00
gingerBill
5c7d6fcfd0
Improve minimum dependency for complex numbers and quaternion numbers.
2020-01-04 18:04:12 +00:00
Tetralux
b32ef9e47b
Fix make and reserve
...
- Set the allocator, even if memory allocation fails.
Right now it doesn't, which means that if allocation fails, it'll use
the context allocator instead. This memory will be leaked if the user
doesn't understand that this happened.
- Only set len and cap of the array returned from make iif the memory allocation
succeeded.
This means that reserve will return false if you do this:
```
a := make([dynamic]int, failing_allocator);
if !reserve(&a, 5) do return; // or whatever indicates failure
```
2020-01-03 10:40:45 +00:00