Commit Graph

2508 Commits

Author SHA1 Message Date
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
5ed4bac16f Merge pull request #676 from Tetralux/fix-temp-alloc-resize
Fix temporary allocator resizing
2020-06-04 23:13:41 +01:00
Tetralux
04ceb5d20c Fix temporary allocator resizing 2020-06-04 21:49:07 +00: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
239f3c0418 Merge pull request #672 from foxnne/fixwrap
Fix wrap in core:math.
2020-06-03 14:57:43 +01:00
gingerBill
5b11a842a8 Merge pull request #668 from kevinw/patch-1
Remove `intrinsics` import
2020-06-03 14:56:36 +01:00
gingerBill
626b4740b1 Add wasm-ld support for wasm code generation 2020-06-03 13:12:38 +01:00
foxnne
437d5e28cd fix wrap in core:math 2020-06-02 00:37:06 -05:00
Kevin Watters
6c7fc4212a Remove intrinsics import
When using `linalg` with the `-vet` compiler switch, you get the warning/error:

`odin/core/math/linalg/specific.odin(4:8) 'intrinsics' declared but not used`
2020-06-01 18:44:47 -04: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