gingerBill
51e50d3e31
Add intrinsics.type_proc_parameter_type; Add intrinsics.type_proc_return_type
2020-07-01 22:35:38 +01:00
gingerBill
1b2cc739a9
Handle llvm package name edge case for IR mangling
2020-06-30 19:12:53 +01:00
gingerBill
7bdd8094d6
Fix signature_parameter_similar_enough logic
2020-06-30 19:10:24 +01:00
gingerBill
323fc7a6a9
Fix system calls for compiler
2020-06-30 19:04:14 +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
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
56a52a1d06
Add sync.condition_wait_for_timeout for unix
2020-06-27 12:21:31 +01:00
gingerBill
858c5f8fd8
Update thread_unix logic
2020-06-27 11:36:48 +01:00
gingerBill
f92b4c7849
Update sys/unix; Rename thread.create_and_start
2020-06-27 11:26:38 +01:00
gingerBill
9fdebebd28
Add sync.Barrier; Add sync.Blocking_Mutex for unix
2020-06-27 11:23:37 +01:00
gingerBill
2b18f43b65
Update sys/windows; Add sync.Blocking_Mutex (windows only at the moment)
2020-06-27 00:59:40 +01:00
gingerBill
53e1512978
Add more exception handling stuff to sys/windows
2020-06-26 20:42:17 +01:00
gingerBill
b5f9c95ce7
Remove foreign import for -vet
2020-06-26 20:33:47 +01:00
gingerBill
231f91304a
Keep previous behaviour for sync but move to sys/windows
2020-06-26 20:30:33 +01:00
gingerBill
d7b3f3a0e7
Revert sync_windows.odin
2020-06-26 20:22:48 +01:00
gingerBill
bb81d4869f
Update sys/windows
2020-06-26 20:09:31 +01:00
gingerBill
b633a42bc2
Revert channel.odin
2020-06-26 19:16:17 +01:00
gingerBill
6bd05ef5d7
Begin migration from sys/win32 to sys/windows
2020-06-26 19:11:34 +01:00
gingerBill
251a3a690e
Add optional sep parameter to fmt.*print and fmt.*println procedures
2020-06-25 15:00:50 +01:00
gingerBill
f22b014db0
Revert build.bat
2020-06-23 09:20:13 +01:00
gingerBill
a6edcf4f18
Fix ABI typo bug; Add pop_safe and pop_front_safe
2020-06-22 21:03:57 +01:00
gingerBill
2a598aa061
Update sync.Channel
2020-06-22 17:45:01 +01:00
gingerBill
910ab7b3d4
Fix typo
2020-06-22 17:00:35 +01:00
gingerBill
2b27300387
Fix LLVM code gen bug
2020-06-22 16:57:21 +01:00
gingerBill
0db1ebb4e5
-vet sync/channel.odin
2020-06-22 16:01:26 +01:00
gingerBill
0013033f9a
Revert build.bat
2020-06-22 15:58:48 +01:00
gingerBill
f00123742c
Add experimental sync.Channel
2020-06-22 15:54:35 +01:00
gingerBill
509e8b512f
Add time.read_cycle_counter
2020-06-22 15:54:19 +01:00
gingerBill
2562df5387
Remove unused imports in thread.odin
2020-06-22 13:35:44 +01:00
gingerBill
0ab356aa4e
Fix sync and thread on *nix
2020-06-22 13:32:58 +01:00
gingerBill
b3c51a8b44
Add thread.run* shorthand procedures; Thread.init_context use new Maybe concept
2020-06-22 13:28:37 +01:00
gingerBill
fb3aeccd36
Add built-in Maybe
2020-06-22 13:25:19 +01:00
gingerBill
9495e3d10c
Update sync.Condition to require a ^sync.Mutex on init
2020-06-22 13:24:51 +01:00
gingerBill
0f711b8719
Remove old llvm-demo
2020-06-21 20:04:29 +01:00
gingerBill
2a6130b7e1
Reorder log.do_location_header order
2020-06-19 15:24:42 +01:00
gingerBill
34384cc2f1
Clean up some of the log code
2020-06-19 15:18:23 +01:00
gingerBill
aeafed0218
Add fmt.DEFAULT_BUFFER_SIZE to be configurable with #config(FMT_DEFAULT_BUFFER_SIZE, 1<<12)
2020-06-19 15:08:54 +01:00
gingerBill
3a4bbfcfae
Change fmt.*print behaviour to match fmt.*println behaviour
2020-06-19 15:01:39 +01:00
gingerBill
01c84b32a6
Add log.panic and log.panicf
2020-06-19 12:23:06 +01:00
gingerBill
240fc65d4d
Add multi_logger.odin; Fix os_windows.odin
2020-06-19 11:49:08 +01:00
gingerBill
c9d3b95b0d
Fix time.now
2020-06-19 11:35:43 +01:00
gingerBill
9f596d6f34
Clean up package log code
2020-06-19 11:18:23 +01:00
gingerBill
2a684830f9
Fix using pointers bug with addressing struct fields
2020-06-18 17:50:54 +01:00
gingerBill
c4ba3f1c83
Merge branch 'master' of https://github.com/odin-lang/Odin
2020-06-17 23:28:46 +01:00
gingerBill
724c776dbe
Fix enumerated array type information creation bug
2020-06-17 23:28:39 +01:00
gingerBill
781395ada1
Add deferred_in_out attribute
2020-06-16 16:21:44 +01:00
gingerBill
9635ea8706
Revert demo.odin
2020-06-16 16:08:51 +01:00
gingerBill
413188bab2
Merge branch 'master' of https://github.com/odin-lang/Odin
2020-06-16 16:07:53 +01:00
gingerBill
5fa54fd2cc
Commit fix
2020-06-16 16:07:44 +01:00
gingerBill
b79e1b6b5c
Cleanup package encoding/json
2020-06-16 16:05:15 +01:00
gingerBill
8dff0f7ef5
-vet code
2020-06-16 12:57:06 +01:00
gingerBill
f85f3dce12
Revert demo.odin
2020-06-16 12:55:09 +01:00
gingerBill
5edb1e8a28
Add hash.djb2 hash.jenkins; Add container.Bloom_Filter; Add container.Ring
2020-06-16 12:53:57 +01:00
gingerBill
f70939ab4f
Use windows specific exception traps
2020-06-15 12:39:29 +01:00
gingerBill
08e271720a
Merge branch 'master' of https://github.com/odin-lang/Odin
2020-06-15 11:54:28 +01:00
gingerBill
c3ebc49ad2
Fix @static slice for LLVM C API backend
2020-06-15 11:54:18 +01:00
gingerBill
a229f9825b
Fix -vet warning for fmt.printf("%10s")
2020-06-12 23:13:26 +01:00
gingerBill
58466a6f3b
Add extra NUL termination check for string length in win32 general string convertors
2020-06-12 15:01:43 +01:00
gingerBill
be76c860a5
mem.simple_equal
2020-06-12 14:52:31 +01:00
gingerBill
4533c02cc7
Improve intrinsics.type_is_simple_compare
2020-06-12 14:37:27 +01:00
gingerBill
01d12770fa
Fix compound literals for constant procedure fields
2020-06-11 16:11:54 +01:00
gingerBill
82b559c32b
Remove debug code
2020-06-10 19:29:24 +01:00
gingerBill
474d79dcf1
Add mem.simple_compare_values
2020-06-10 16:37:22 +01:00
gingerBill
61db6c1234
Add force usage when importing intrinsics or builtin
2020-06-10 16:36:59 +01:00
gingerBill
e641d714a0
Fix #677
2020-06-10 16:32:53 +01:00
gingerBill
f305726015
Fix #c_vararg for LLVM C API
2020-06-10 16:15:56 +01:00
gingerBill
57b09b2ffb
Fix #439
2020-06-10 15:37:50 +01:00
gingerBill
e86fde3cb1
Fix #648
2020-06-10 15:09:04 +01:00
gingerBill
99944f3b02
Improve behaviour of return with named results to aid with defer statements
2020-06-10 14:53:35 +01:00
gingerBill
a9295d33ab
Fix #674
2020-06-10 14:39:50 +01:00
gingerBill
4acae2af44
Add support for using on relative pointers #670
2020-06-10 14:25:11 +01:00
gingerBill
036429bf2f
Fix reflect.as_i64 and reflect.as_u64
2020-06-10 14:13:50 +01:00
gingerBill
d0920804c3
Stop statement generation after terminating instruction in current block (LLVM C API)
2020-06-10 13:57:25 +01:00
gingerBill
97d3d4ff6f
Minor changes for \*nix backend
2020-06-10 13:38:17 +01:00
gingerBill
6ea0910213
Fix typo
2020-06-10 13:02:42 +01:00
gingerBill
b8d33165c9
Add -target:<string> fuzzy checking with "Did you mean" message
2020-06-10 12:59:54 +01:00
gingerBill
6b3ee447f0
Basic cross compilation support
2020-06-10 12:26:31 +01:00
gingerBill
9b1cc6e94f
Update logic for slice literals, backing array to be on the stack if possible (LLVM C API)
2020-06-08 12:41:42 +01:00
gingerBill
0ffb718a91
Add fmt.User_Formatter
2020-06-08 12:40:50 +01:00
gingerBill
a7dd686859
Add #caller_location to strings.clone; remove deprecated procedures in package strings
2020-06-08 11:42:38 +01:00
gingerBill
87a6d695d6
Fix typo in error message
2020-06-06 22:39:36 +01:00
gingerBill
a89633e3ed
Remove return after unreachable
2020-06-06 15:22: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
a3fa647bfd
Add package sys/llvm to expose some of the LLVM intrinsics
2020-06-06 14:52:22 +01:00
gingerBill
1a4e2196bd
Fix runtime.bswap_16
2020-06-05 14:12:30 +01:00
gingerBill
d8f9daac95
Fix different endian integers for LLVM C API backend
2020-06-05 13:12:57 +01:00
gingerBill
f992e36f9a
Rename reflect.to_* to reflect.as_*
2020-06-05 10:38:38 +01:00
gingerBill
11dd971e13
Add reflect.{to_int, to_uint, to_i64, to_u64, to_f64}
2020-06-05 10:27:32 +01:00
gingerBill
15c4077806
Fix WASM foreign import names
2020-06-04 00:30:44 +01:00
gingerBill
37a3abdaaa
Fix calling convention stuff with LLVM C API
2020-06-03 21:23:30 +01:00
gingerBill
ac709b8afb
Merge branch 'master' of https://github.com/odin-lang/Odin
2020-06-03 21:10:18 +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
626b4740b1
Add wasm-ld support for wasm code generation
2020-06-03 13:12:38 +01:00
gingerBill
8589af1458
Improve bits.rotate_left*
2020-05-31 16:19:08 +01:00
gingerBill
bf5ce04b24
Improve rules for shifting behaviour
...
Example:
x: u64 = 123;
assert(x >> 64 == 0); // In C this would be 123 because (64 & 0b111111) == 0
a: u64 123;
assert(a << 64 == 0); // In C this would be 123 because (64 & 0b111111) == 0
2020-05-31 13:50:17 +01:00
gingerBill
8057af9e09
Fix #659 Compiler error when indexing constant slices
2020-05-31 12:20:47 +01:00
gingerBill
d8bc2030e6
Fix big_int_to_f64
2020-05-30 16:45:49 +01:00
gingerBill
5eaef091e2
Update math/bits
2020-05-30 12:24:00 +01:00