Commit Graph

9656 Commits

Author SHA1 Message Date
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
aacf524a47 Merge pull request #653 from lkppo/master
Fix the shebang portability of the build.sh script
2020-05-22 10:35:49 +01:00
Stéphane Aulery
8ad3a1f41f Fix the shebang portability of the build.sh script 2020-05-22 11:28:17 +02: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
7819fec0a1 Merge pull request #645 from Tetralux/llvm-noabc-obey-directive
LLVM C backend: Obey directives on blocks, procedures, and expressions
2020-05-16 18:15:25 +01:00
Tetralux
96ed948590 LLVM C backend: Obey directives on blocks, procedures, and expressions
e.g: #no_bounds_check / #bounds_check
2020-05-16 17:04:16 +00:00
gingerBill
3bd01d3a02 Merge pull request #644 from Tetralux/llvm-bounds-checks
Add bounds checks to LLVM C backend
2020-05-16 15:32:15 +01:00
Tetralux
c4b492fb64 Add bounds checks to LLVM C backend 2020-05-16 14:25:36 +00: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
5f08c77d8b Merge pull request #641 from Tetralux/fix-container-arraypushelems
Fix container.Array.array_push_back_elems
2020-05-15 08:49:26 +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
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
Mikkel Hjortshoej
48946fe46f Alright, things work. Reverting broken stuff 2020-05-14 14:20:04 +02:00
Mikkel Hjortshoej
0b0e661b62 Another test sorry 2020-05-14 14:18:20 +02:00
Mikkel Hjortshoej
10c3acf37f Remove test for webhook 2020-05-14 14:09:22 +02:00
Mikkel Hjortshoej
e377f5a329 Briefly break master to test webhook 2020-05-14 14:07:33 +02: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
d49ecd9009 Merge pull request #638 from jharler/master
Fixed thread_pool not destroying threads
2020-05-11 17:38:05 +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
gingerBill
dc1b3cc563 Merge branch 'master' of https://github.com/odin-lang/Odin 2020-05-08 16:09:45 +01:00