Commit Graph
100 Commits
Author SHA1 Message Date
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
gingerBill 84fd40de77 Fix rules for recursive initialization with procedure entities; Fix executable name if not given 2020-05-30 12:23:41 +01:00
gingerBill 1d7f99cbdf Remove mem_zero from make; Implement custom memset for windows amd64 2020-05-27 20:17:58 +01:00
gingerBill 3d4a3730b0 Add notin deprecation 2020-05-27 18:47:45 +01:00
gingerBill 1f31d573e4 Fix tokenization 2020-05-27 18:43:02 +01:00
gingerBill 237962182b Fix tokenizing for %% 2020-05-27 18:41:10 +01:00
gingerBill e84406a895 Move zero_size 2020-05-27 18:26:20 +01:00
gingerBill 1a0614b0d7 Improve performance of tokenization and parsing 2020-05-27 18:23:37 +01:00
gingerBill 876820789e Add rune_is_letter_or_digit for tokenizer 2020-05-27 12:54:11 +01:00
gingerBill 4e21a4d46a Optimize rune_is_* procedures for tokenizer 2020-05-27 12:43:49 +01:00
gingerBill 6ac0fb80a6 Minor tokenizer performance improvements 2020-05-27 12:32:11 +01:00
gingerBill 098699103d Begin work on supporting wasm32 architecture 2020-05-25 12:46:23 +01:00
gingerBill d6bcc25b69 Fix tokenizer for 0i #658 2020-05-24 21:43:36 +01:00
gingerBill a2c50d3666 Fix -vet for strings 2020-05-24 17:57:55 +01:00
gingerBill f06efffe22 Update strings case convertors to be unicode compliant 2020-05-24 17:50:27 +01:00
gingerBill e42f7008fc Change spaces to tabs 2020-05-24 16:40:48 +01:00
gingerBill 26c9d17040 Merge branch 'master' of https://github.com/odin-lang/Odin 2020-05-24 12:52:19 +01:00
gingerBill 2be87169ef Fix #656 2020-05-24 12:52:08 +01:00
gingerBill cbfbff7240 Add intrinsics.type_is_comparable; Add sort.linear_search 2020-05-23 14:02:21 +01:00
gingerBill 99e6eba20f Revert demo.odin 2020-05-23 13:57:45 +01:00
gingerBill 7d11ee605c Add sort.binary_search (uses interpolation sort for ordered numeric types) 2020-05-23 13:57:24 +01:00
gingerBill 4671207c61 Make the using import deprecation warning an error 2020-05-23 13:39:18 +01:00
gingerBill aa029fe8d9 Add "pure" procedure types 2020-05-23 13:38:06 +01:00
gingerBill ef539696b9 Strip carriage return \r from raw string literals 2020-05-23 11:39:29 +01:00
gingerBill 26fe9b0212 Fix SelectorCallExpr with no return values 2020-05-22 23:41:17 +01:00
gingerBill fd6e2ed5de Revert demo.odin 2020-05-22 14:56:32 +01:00
gingerBill 7bd1039a49 Selector Call Expressions: x->y(123) == x.y(x, 123) 2020-05-22 14:54:30 +01:00
gingerBill 76a230372f Merge branch 'master' of https://github.com/odin-lang/Odin 2020-05-22 12:32:36 +01:00
gingerBill 86b613fb15 Remove the need for type_of, size_of, align_of, offset_of to be keywords 2020-05-22 12:32:29 +01:00
gingerBill d09ac8943a Minor fixes to improve hash map/set performance 2020-05-21 16:27:40 +01:00
gingerBill 8e63c94393 Add string.h 2020-05-21 11:10:03 +01:00
gingerBill 0b16ed7c85 Use memcmp for str_eq 2020-05-21 11:05:38 +01:00
gingerBill 89d824216a Add extra information to -show-more-timings 2020-05-21 09:30:15 +01:00
gingerBill 3f23a0b3b0 Fix edge cases of relative pointers 2020-05-17 15:23:27 +01:00
gingerBill e1bdaa981a Relative pointer and relative slices 2020-05-15 18:45:24 +01:00
gingerBill 95e8668b77 Relative pointers in old backend 2020-05-15 17:52:09 +01:00
gingerBill 90adf214d7 Merge branch 'master' of https://github.com/odin-lang/Odin 2020-05-15 17:37:14 +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 218c1599b1 Add explicit context to thread_unix.odin 2020-05-14 13:48:03 +01:00
gingerBill 9b2eecb3df Merge branch 'master' of https://github.com/odin-lang/Odin 2020-05-14 13:44:34 +01:00
gingerBill e0a242e9a1 Enforce explicit context definition for procedure calls 2020-05-14 13:44:28 +01:00
gingerBill cd4403be0c Fix Assertion failure in ir_print_exact_value #620 2020-05-14 00:34:27 +01:00
gingerBill f661d34049 Implement Explicit context creation #639 2020-05-14 00:13:26 +01:00