gingerBill
5a28a7e0f5
Add intrinsics.type_field_index_of
2020-10-15 16:12:47 +01:00
gingerBill
1b4bccbc94
Add append_nothing
2020-10-08 12:23:44 +01:00
gingerBill
6eeb12a986
Improve default temp_allocator; make nil loggers do nothing; improve mem.Scratch_Allocator behaviour
2020-10-02 16:06:55 +01:00
gingerBill
8f28312705
Fix pop behaviour, and improve assert messages by using #caller_location
2020-10-02 11:04:17 +01:00
gingerBill
252a864308
Reimplement the Windows OS dependencies in package runtime
2020-10-01 10:57:02 +01:00
gingerBill
c35d533ce5
Replace the *_remove_range with procedures with remove_range
2020-09-30 12:38:40 +01:00
gingerBill
fc4fdd588e
Remove usage of do in core library
2020-09-23 17:17:14 +01:00
gingerBill
4cf240ca05
Fix odin/parser issues
2020-09-15 22:14:23 +01:00
gingerBill
9d91c46cb4
Move all os specific stuff for the runtime to one file
2020-09-15 12:19:56 +01:00
gingerBill
f48a873954
Reorganize package runtime
...
Separates out the OS specific stuff into different files
2020-09-15 11:52:19 +01:00
gingerBill
0cd681e6b7
Expose runtime._startup_runtime to allow for freestanding targets in the future
2020-09-15 10:51:51 +01:00
gingerBill
c1149dbdee
Update math and math/linalg; add "pure_none" calling convention
2020-09-10 15:00:19 +01:00
gingerBill
f5b8609160
Remove debug print
2020-09-07 12:15:54 +01:00
gingerBill
7f48cf8405
[REFLECTION BREAKING] Modify the internals of the map type to increase performance
2020-09-07 11:41:42 +01:00
gingerBill
9fd9130891
Add new core procedures: ordered_remove_range; unordered_remove_range; insert_at
2020-09-04 11:18:46 +01:00
gingerBill
e7f54d25d6
Add mem.Allocator_Query_Info and mem.query_info
2020-08-16 23:05:33 +01:00
gingerBill
033b46def8
Add mem.Allocator_Mode.Query_Features, mem.Allocator_Mode_Set, mem.query_features`
2020-08-16 22:07:40 +01:00
Oskar Nordquist
36cac87387
Add .Thread_Id option to log package
2020-07-22 17:42:01 +02:00
gingerBill
5b7c83d871
Add strings.pop_byte strings.pop_rune
2020-07-08 23:15:48 +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
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
ff92eb9112
Relative pointers
2020-05-15 17:37:00 +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
ba4363d678
Improve append_elem(s) logic
2020-05-02 12:09:25 +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
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
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
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
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
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
gingerBill
b8324b0776
Fix behaviour for make to return nil when alloc returns nil
2020-01-03 10:17:30 +00:00
Tetralux
f6f10d10e8
Fix append_string
2020-01-02 11:38:25 +00:00
gingerBill
978d7fcb99
Fix typeid information for enumerated arrays
2019-12-31 16:54:50 +00:00
gingerBill
ab52f8d795
Move definition of mem.Allocator and log.Logger to package runtime, to reduce import cycle magic
2019-12-31 12:15:19 +00:00
gingerBill
2252d992d7
Add -disable-assert to disable the code generation of the built-in run-time 'assert' procedure
2019-12-29 21:10:27 +00:00