Commit Graph

979 Commits

Author SHA1 Message Date
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
Tetralux
e7e936f480 Merge branch 'master' into fix-sync-badopt 2020-04-22 06:12:41 +01:00
gingerBill
026bb8ed6f Remove unused headers 2020-04-21 23:26:59 +01:00
gingerBill
cbc3800797 Merge branch 'master' of https://github.com/odin-lang/Odin 2020-04-21 23:26:09 +01:00
gingerBill
4236e870d7 Fix type assertion bug #619 2020-04-21 23:26:02 +01:00
gingerBill
b725ae5ae0 Merge pull request #617 from Tetralux/dep-yield-processor
Rename `yield_processor` to `cpu_relax`
2020-04-21 18:07:04 +01:00
Tetralux
3afa2736b7 Fix potential bad optimization bug in sync.Ticket_Mutex
When locking, we were not loading m.serving atomically and so the optimizer
could have hoisted the check out of the loop, thus resulting in an infinite loop.
2020-04-21 17:04:29 +00:00
Tetralux
8dd1b61aa2 sync.yield_processor -> sync.cpu_relax; have it call intrinsics.cpu_relax 2020-04-21 16:07:18 +00:00
Tetralux
d3f2f94800 Remove outdated comment
This is what I get for removing the ability to provide a stack at the last minute.... 🤣
2020-04-21 15:22:42 +01:00
gingerBill
f141e2868d container.Set 2020-04-20 00:12:01 +01:00
gingerBill
400d6014d0 container.Small_Array 2020-04-19 23:57:57 +01:00
gingerBill
ab6947b2c7 container.Small_Array 2020-04-19 23:57:40 +01:00
gingerBill
52bbdefec4 container.Map 2020-04-19 23:43:02 +01:00
gingerBill
8ee67e41f4 Fix #optional_ok; Fix container.Array 2020-04-19 23:08:50 +01:00
gingerBill
97f7a558fa #optional_ok tag for procedures 2020-04-19 21:45:04 +01:00
zhibog
3a1bee19a9 Added a bool flag to the Block_Stmt struct to have information whether or not 'do' was used vs brackets in the AST 2020-04-18 21:34:14 +02:00
gingerBill
872e97dba6 Merge pull request #609 from hasenj/osx-consts
Fix darwin open flags and mode
2020-04-18 19:20:42 +01:00
Hasen Judy
705984f828 Fix darwin open flags and mode 2020-04-19 01:39:22 +09:00
gingerBill
1addee32b5 package container with Queue and Array 2020-04-17 15:26:50 +01:00
gingerBill
4438b3e7af Fix LLVM API backend for procedure "constant" values 2020-04-17 13:50:28 +01:00
gingerBill
1e321cd48c Fix reflect.capacity and reflect.index 2020-04-15 19:00:05 +01:00
gingerBill
dbaf8568d6 Fix reflect.length 2020-04-15 18:56:19 +01:00