Commit Graph

1000 Commits

Author SHA1 Message Date
gingerBill
036429bf2f Fix reflect.as_i64 and reflect.as_u64 2020-06-10 14:13:50 +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
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
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
Tetralux
04ceb5d20c Fix temporary allocator resizing 2020-06-04 21:49:07 +00: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
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
5eaef091e2 Update math/bits 2020-05-30 12:24:00 +01:00
gingerBill
1d7f99cbdf Remove mem_zero from make; Implement custom memset for windows amd64 2020-05-27 20:17:58 +01:00
gingerBill
098699103d Begin work on supporting wasm32 architecture 2020-05-25 12:46:23 +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
Mikkel Hjortshoej
c035fc337f Add case conversions by @dotbmp 2020-05-24 12:47:43 +02:00
gingerBill
cbfbff7240 Add intrinsics.type_is_comparable; Add sort.linear_search 2020-05-23 14:02:21 +01:00
gingerBill
7d11ee605c Add sort.binary_search (uses interpolation sort for ordered numeric types) 2020-05-23 13:57:24 +01:00
gingerBill
89d824216a Add extra information to -show-more-timings 2020-05-21 09:30:15 +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
Tetralux
dc236d6830 Fix container.Array.array_push_back_elems
We were previously using array_slice to get the storage
that we were copying the new elements into, using the current
length as the offset: `copy(data[len:], ..elems)`

However, array_slice returns a slice over `data[0:len]` -- we
were using it as if it was `data[0:cap]`.

Add array_cap_slice that does this instead. :^)
2020-05-15 03:54:32 +00: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
e0a242e9a1 Enforce explicit context definition for procedure calls 2020-05-14 13:44:28 +01:00
gingerBill
f661d34049 Implement Explicit context creation #639 2020-05-14 00:13:26 +01:00
gingerBill
f6c7a0c9b8 Fix -llvm-api memset "bug" 2020-05-13 23:51:51 +01:00
gingerBill
d51b98a8d2 Add extra 128 bit integer procedures 2020-05-13 13:46:32 +01:00
jharler
72a5030f3d Fixed thread_pool not destroying threads 2020-05-11 12:32:35 -04:00
gingerBill
197a72adde Merge pull request #616 from Tetralux/fix-sync-badopt
Fix potential bad optimization bug in sync.Ticket_Mutex
2020-05-10 10:37:11 +01:00
gingerBill
f043e92650 Add strconv.unquote_string and strconv.unquote_char 2020-05-09 13:58:45 +01:00
gingerBill
e3f3e715e2 Merge pull request #634 from Tetralux/enum_from_name
Add reflect.enum_from_name
2020-05-09 12:57:27 +01:00
gingerBill
e8f2fb58d9 Fix strconv.parse_ usage across other packages 2020-05-09 11:54:36 +01:00
Tetralux
8d2430e54d Add reflect.enum_from_name
Provides a way to go from a enum value name string to an actual enum value.

```
E :: enum { A, B }

// ...

s := "B";
v, ok := enum_from_name(E, s);
assert(ok && v == E.B);
```
2020-05-09 07:30:07 +00:00
Tetralux
7d4f9545a7 Fix parsing of single-digit numbers 2020-05-06 23:21:24 +00:00
gingerBill
8434cb8951 Merge pull request #630 from Tetralux/parseint
Refactor parsing procedures: Return (value, ok) instead
2020-05-05 21:05:13 +01:00
gingerBill
ba4363d678 Improve append_elem(s) logic 2020-05-02 12:09:25 +01:00
gingerBill
832a586b8d Merge branch 'master' of https://github.com/odin-lang/Odin 2020-04-30 17:48:46 +01:00
gingerBill
117ade0700 Fix errors in package win32 2020-04-30 17:48:35 +01:00
Tetralux
25f77e32ee Fix doc comments 2020-04-29 23:35:26 +01:00
Tetralux
704ee9f851 Return (value: T, ok: bool) instead 2020-04-29 22:37:33 +01:00
Tetralux
190932935c Refactor parse_* procedures: arbitrary bases, and return (value, rest_of_string) 2020-04-29 21:33:33 +01:00
zhibog
c704de8442 Added the #maybe directive to the union struct in the AST. Also added it to the parsing code for a union. 2020-04-25 18:21:32 +02:00