Commit Graph

157 Commits

Author SHA1 Message Date
gingerBill
e127d21fed Check for pseudo-fields before bit fields 2024-02-22 19:24:50 +00:00
gingerBill
3060225f46 Simplify usage code 2024-02-22 19:24:16 +00:00
gingerBill
c14b9d461a Support using of a bit_field within a struct 2024-02-22 19:14:16 +00:00
gingerBill
afcc2889ec Support compound literals for bit_field 2024-02-22 18:41:15 +00:00
gingerBill
5f001f6d51 Allow casting between a bit_field and its backing type 2024-02-22 18:15:13 +00:00
gingerBill
5a84a08225 Add general support for bit_fields 2024-02-22 17:24:42 +00:00
korvahkh
8530829ca4 Fix dynamic array index = value with const value initializing to 0 2024-02-02 15:27:39 -06:00
Laytan Laats
09db245e4c fix wrong string type assert
Fixes #2846
2023-12-20 00:56:36 +01:00
gingerBill
f809788f75 Add missing type information for soa structs 2023-11-23 17:31:00 +00:00
gingerBill
c36ac4bdfd Bodge: fix matrix_flatten issue in Win64 ABI 2023-11-06 13:59:06 +00:00
gingerBill
864b29f7f1 Add missing calls 2023-11-01 13:57:20 +00:00
gingerBill
f9c6f6856b Fix #2261 2023-09-30 20:32:24 +01:00
gingerBill
3e0fd63682 Fix or_break code generation issue 2023-09-30 18:58:28 +01:00
gingerBill
648b83d6ea Add or_break and or_continue constructs 2023-09-30 15:04:17 +01:00
gingerBill
acc29fbceb Merge branch 'master' into llvm-17 2023-09-27 11:38:11 +01:00
gingerBill
c08bf1204f Add cstring specific comparison procedures to fix comparisons like cstring("") != cstring(nil) 2023-09-26 12:21:43 +01:00
gingerBill
e748d2f2af Update to LLVM-17 2023-09-19 16:15:26 +01:00
gingerBill
c91898a888 Remove #relative slices; Replace with #relative multi-pointers 2023-08-05 16:05:39 +01:00
gingerBill
921530dd01 Fix to allow procedure groups on objective-c types 2023-07-17 12:43:56 +01:00
gingerBill
dcf3023d93 Fix bug caused by incorrect assert 2023-07-17 12:06:48 +01:00
gingerBill
bf848637aa Fix #2629 2023-07-07 23:06:15 +01:00
gingerBill
759f846b2b Fix [2]union{T} comparison against nil 2023-07-07 23:03:46 +01:00
gingerBill
3a761395be Add basic optimization for comparisons against the empty string "" 2023-06-14 12:49:33 +01:00
gingerBill
296674e18b Rename ODIN_DISALLOW_RTTI to ODIN_NO_RTTI; Remove dead command line flags 2023-06-12 14:53:05 +01:00
gingerBill
2bc5e0ebd7 Fix non-constant compound literals of slices 2023-06-07 00:10:39 +01:00
gingerBill
4a75a1e839 Merge branch 'master' into separate-int-word-sizes 2023-06-06 22:42:04 +01:00
gingerBill
8bf32ac697 Minor change to handling of propagation of errors with --- as a value 2023-05-22 12:53:29 +01:00
gingerBill
46bb9bc5c7 Enforce an icmp when casting to i1 to correct behaviour for booleans which are not 0 or 1 2023-05-20 12:41:30 +01:00
gingerBill
f2e590be7a Fix #2544 2023-05-18 11:35:47 +01:00
gingerBill
49d1f6aca0 Merge branch 'master' into separate-int-word-sizes 2023-05-18 11:26:57 +01:00
J.C. Moyer
ed580b3060 Zero non-diagonal elements when converting to matrix
Fixes #2056
2023-05-09 12:00:38 -04:00
gingerBill
e82146bf17 Merge branch 'master' into separate-int-word-sizes 2023-05-03 17:06:37 +01:00
gingerBill
b3aa6afba9 Fix #2481 2023-04-27 11:35:14 +01:00
gingerBill
7df1cc075c Fix #2487 2023-04-27 11:31:05 +01:00
gingerBill
f5d9ca64f9 Begin work on new pseudo-architecture: wasm64p32 2023-04-20 12:02:32 +01:00
gingerBill
8dc70f797c Increase use of temporary_allocator() where possible 2023-03-16 15:16:17 +00:00
gingerBill
a9182cfd8c Allow compound literals to access fields through using 2023-02-26 13:26:35 +00:00
gingerBill
66f2881a78 Allow comparisons between empty struct{} and union{} 2023-02-17 17:02:37 +00:00
gingerBill
8a2a70a3c2 Fix overriding procedure information for literals 2023-02-17 13:00:37 +00:00
gingerBill
3d2a6c5895 Fix #2282 caused by a typo 2023-01-20 11:37:40 +00:00
gingerBill
eb1d00ced6 Fix #2264 2023-01-18 16:05:30 +00:00
gingerBill
f41c91d36b Fix #2274 2023-01-18 15:41:49 +00:00
gingerBill
68b2d4b9e2 Fix #2305 2023-01-16 11:41:58 +00:00
gingerBill
69934c3b0b More for_array(i, y) to for (x : y) translations 2023-01-03 13:04:09 +00:00
gingerBill
fa562ec5d6 Remove unneeded local_entity_map 2023-01-02 15:40:25 +00:00
gingerBill
529383f5b1 Correct a race condition when checking the procedure body 2023-01-02 15:30:04 +00:00
gingerBill
9b278db993 Revert "Change tav to be a pointer internally"
This reverts commit e98f1a28e6.
2022-12-22 12:01:41 +00:00
gingerBill
e98f1a28e6 Change tav to be a pointer internally 2022-12-22 11:53:13 +00:00
gingerBill
6cdec65ca1 gb_internal LLVM backend 2022-12-18 22:32:05 +00:00
gingerBill
d88b052d2d Naïve optimization of named _split_ multiple return valued when defer is never used
This is a naïve optimization but it helps a lot in the general case where callee temporary stack variables
are not allocated to represent the named return values by using that specific memory.

In the future, try to check if a specific named return value is ever used a `defer` within a procedure or not,
or is ever passed to a nested procedure call (e.g. possibly escapes).
2022-11-25 23:57:55 +00:00