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
gingerBill
af1d4d6e72
Implement Allow .? operator to unwrap any union #549
2020-05-14 00:00:10 +01:00
gingerBill
f6c7a0c9b8
Fix -llvm-api memset "bug"
2020-05-13 23:51:51 +01:00
gingerBill
c2bfb221f5
Fix #561 where statements that eval to false do not show incorrect usage location
2020-05-13 23:45:55 +01:00
gingerBill
d59fced21b
#591 Improve type switch statement error for fallthrough
2020-05-13 23:33:03 +01:00
gingerBill
7c42d4ba75
( #594 ) Add #config to replace #defined; Restrict #defined within procedure bodies to remove race condition
2020-05-13 23:29:06 +01:00
gingerBill
14ce6d8ed8
Fix #632 behaviour
2020-05-13 23:09:38 +01:00
gingerBill
2630e9ced1
Fix #622 on both backends
2020-05-13 23:00:34 +01:00
gingerBill
482c687462
Fix procedure references in global compound literals in old backend
2020-05-13 22:42:15 +01:00
gingerBill
de8c1165c2
Fix procedure literal declarations at file scope with -llvm-api
2020-05-13 22:30:38 +01:00
gingerBill
d51b98a8d2
Add extra 128 bit integer procedures
2020-05-13 13:46:32 +01:00
gingerBill
6861ff47bc
Replace entity_of_ident with entity_of_node
2020-05-12 16:28:22 +01:00
gingerBill
0ba3b5c0bd
Fix bug for array-like compounds for LLVM-API
2020-05-12 14:57:37 +01:00
gingerBill
fcdfcfce19
Let -vet ignore intentional declaration shadowing #637
2020-05-12 10:31:49 +01:00
gingerBill
f043e92650
Add strconv.unquote_string and strconv.unquote_char
2020-05-09 13:58:45 +01:00
gingerBill
e8f2fb58d9
Fix strconv.parse_ usage across other packages
2020-05-09 11:54:36 +01:00
gingerBill
dc1b3cc563
Merge branch 'master' of https://github.com/odin-lang/Odin
2020-05-08 16:09:45 +01:00
gingerBill
d52695b077
Fix constant complex arithmetic bug
2020-05-08 16:09:35 +01:00
gingerBill
4fc60601d3
Fix ABI typo
2020-05-06 20:18:43 +01:00
gingerBill
4f4c3bb03b
Add -extra-linker-flags:<string>
2020-05-06 13:41:22 +01:00
gingerBill
99ebb5af3b
Support --flag as redundancy for -flag
2020-05-04 18:23:23 +01:00
gingerBill
45274868c3
Fix -subsystem:windows for normal backend
2020-05-04 18:07:49 +01:00
gingerBill
3ef9566817
Fix typo
2020-05-03 16:18:47 +01:00
gingerBill
3299d6a204
Add -ignore-vs-search
2020-05-02 18:50:38 +01:00
gingerBill
e27f5796d6
Add experimental atom op tables for llvm-backend
2020-05-02 18:45:57 +01:00
gingerBill
ba4363d678
Improve append_elem(s) logic
2020-05-02 12:09:25 +01:00
gingerBill
eb2b3572bb
Move TypeProc outside
2020-05-02 11:59:43 +01:00
gingerBill
1a9e75267b
Fix rc.exe call
2020-05-02 10:00:34 +01:00