gingerBill
81623861c0
Correct mem.clone_slice
2021-08-23 14:33:54 +01:00
gingerBill
4ccf135892
Unify new/make the internal logic between runtime and mem
2021-08-23 12:35:29 +01:00
gingerBill
d5bad374d9
Remove deprecated procedure slice_ptr_to_bytes
2021-08-22 12:55:57 +01:00
gingerBill
445ed9be2b
Use multi-pointers when appropriate
2021-08-22 12:54:04 +01:00
gingerBill
f0437a4242
Enforce core:builtin and core:intrinsics for imports
2021-08-21 13:44:16 +01:00
gingerBill
2f5edebefa
Rename mem.reinterpret to mem.reinterpret_copy
2021-08-20 10:19:30 +01:00
gingerBill
b5cdb331b0
Add mem.reinterpret
2021-08-20 10:18:34 +01:00
gingerBill
7bbc9a4634
Add #any_int directive to replace auto_cast uses on parameters.
2021-08-15 12:56:59 +01:00
gingerBill
4d00c2b800
Allocator_Error.Mode_Not_Implemented; Minor improvement to map runtime procedures
2021-08-08 14:29:45 +01:00
gingerBill
3e7aabe6d8
Change uses for parapoly records to use $ always
2021-06-14 11:43:35 +01:00
Jeroen van Rijn
03862d1f48
Mark mem.slice_ptr_to_bytes as deprecated.
...
Use byte_slice instead.
We can't make it an alias *and* mark it as deprecated, regrettably:
```odin
byte_slice :: #force_inline proc "contextless" (data: rawptr, len: int) -> []byte {
return transmute([]u8)Raw_Slice{data=data, len=max(len, 0)};
}
@(deprecated="use byte_slice")
slice_ptr_to_bytes :: byte_slice;
"mem.odin(145:1) Constant alias declarations cannot have attributes"
```
2021-05-06 13:23:17 +02:00
Jeroen van Rijn
4f51d74fc2
Fix typo in core:mem alloc() comment.
2021-05-06 11:25:41 +02:00
gingerBill
e9b1d4f633
Fix #906
2021-04-20 10:34:41 +01:00
gingerBill
c3b3194a00
Update builtin procedures to support the new allocator features (without breaking other code)
2021-04-19 22:44:20 +01:00
gingerBill
f98c4d6837
Improve the Allocator interface to support returning Allocator_Error to allow for safer calls
...
Virtually all code (except for user-written custom allocators) should work as normal. Extra features will need to be added to make the current procedures support the `Allocator_Error` return value (akin to #optional_ok)
2021-04-19 12:31:31 +01:00
gingerBill
359ae29d98
Minor fixes
2021-03-18 13:25:41 +00:00
gingerBill
b727b6438b
Minimize unneeded casts
2021-03-03 14:31:17 +00:00
gingerBill
aa93305015
Replace usage of inline proc with #force_inline proc in the core library
2021-02-23 16:14:47 +00:00
gingerBill
415379e1cf
Fix delete_map
2021-02-02 16:30:34 +00:00
Luka Aleksić
00ebc877a1
Tracking allocator now tracks bad free calls
2021-01-21 00:19:56 +01:00
gingerBill
54fbdabc38
Add experimental -insert-semicolon functionality to tokenizer and parser
2020-11-01 15:10:06 +00: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
a65553293f
Add mem.Small_Allocator
2020-10-02 11:09:36 +01:00
gingerBill
519dcc2b76
Add os.read_at and for Windows; fix mem.clone_slice; fix current directory locking code
2020-09-29 11:11:28 +01:00
gingerBill
fc4fdd588e
Remove usage of do in core library
2020-09-23 17:17:14 +01:00
gingerBill
4930a9c1a4
Add mem.clone_slice
2020-09-15 11:51:38 +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
gingerBill
1f571f48e5
Add mem.Tracking_Allocator
2020-08-16 21:29:14 +01:00
gingerBill
3385fcecb0
Fix typo
2020-08-04 14:31:14 +01:00
gingerBill
d1d5f61230
Add intrinsics.alloca
2020-08-02 14:59:39 +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
8478b887a5
Add mem.check_zero and mem.check_zero_ptr
2020-06-29 16:17:40 +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
be76c860a5
mem.simple_equal
2020-06-12 14:52:31 +01:00
gingerBill
474d79dcf1
Add mem.simple_compare_values
2020-06-10 16:37:22 +01:00
gingerBill
59a0bbb385
Improve termination rules checking for missing return; Make diverging procedure -> ! be terminators
2020-06-06 15:16:24 +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
117ade0700
Fix errors in package win32
2020-04-30 17:48:35 +01:00
gingerBill
97f7a558fa
#optional_ok tag for procedures
2020-04-19 21:45:04 +01:00
gingerBill
dbaf8568d6
Fix reflect.length
2020-04-15 18:56:19 +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
baf5b9edc3
Add runtime.bswap_* required for -llvm-api
2020-04-11 19:26:16 +01:00
gingerBill
c6c6c56ba9
Fix mem.set for LLVM C API
2020-03-08 18:44:45 +00:00
gingerBill
c74d8405ec
Merge branch 'master' into llvm-integration
2020-03-08 10:13:19 +00:00
Tetralux
0190f90979
Fix mem.align_backward when pointer is already aligned
2020-02-28 12:22:30 +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
Tetralux
1f0c1943da
Fix #552 .
...
- Fix comparisons involving one or more empty string.
- Fix comparisons against two strings of different lengths.
2020-02-12 11:25:12 +00:00