Commit Graph

3482 Commits

Author SHA1 Message Date
gingerBill
ff6b76986a Use C++11 loops for some arrays 2022-12-09 12:32:54 +00:00
gingerBill
5c3624eb86 Fix map looping 2022-12-09 12:18:49 +00:00
gingerBill
144e357fd2 Add extra check 2022-12-09 11:37:15 +00:00
gingerBill
be22f0d1e1 Fix variable shadow in compiler 2022-12-09 11:32:52 +00:00
gingerBill
34a048f7da Replace compiler for loops for the hash-table types to simplify code usage 2022-12-09 11:29:28 +00:00
gingerBill
1f8f94276e Initialize the multiple return value map in lb_create_dummy_procedure 2022-12-07 16:44:26 +00:00
gingerBill
a5bdb4a8e8 Merge pull request #2208 from odin-lang/multiple-return-abi-experiment
Multiple Return ABI Changes and Improvements
2022-12-07 11:42:23 +00:00
Dragos Popescu
75dcaf6d8d -ignore-unknown-attributes: fixed the attribute value being type checked in variable declarations 2022-12-03 00:11:18 +01:00
Phil
7a4106077a correct compare_exact_values(x,y) for TypeId and Procedure 2022-12-02 13:13:01 -08: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
gingerBill
615eccb6d1 Correct return ptr semantics for split returns 2022-11-24 14:26:45 +00:00
gingerBill
d3c65b6ba5 Make split multiple return logic only work for the native Odin calling conventions 2022-11-24 13:16:02 +00:00
gingerBill
90415e4a6e Add split multiple return to different ABIs 2022-11-24 12:14:19 +00:00
gingerBill
7352c312e0 Fix type for split returns code 2022-11-24 11:20:28 +00:00
gingerBill
0befadde1d Basic copy elision support for multiple return values 2022-11-24 01:27:39 +00:00
gingerBill
aef8b25a8e Listen to past Bill's wisdom 2022-11-23 23:54:12 +00:00
gingerBill
ae81117f70 Merge branch 'master' into multiple-return-abi-experiment 2022-11-23 23:43:00 +00:00
gingerBill
d6cb105d5f Fix LLVM type cycle nonsense with procedure types 2022-11-23 23:32:34 +00:00
gingerBill
b7b9a016d3 Merge branch 'master' into multiple-return-abi-experiment 2022-11-23 22:48:56 +00:00
gingerBill
5ac36b5f25 HACK: Get around debugging type generation for slices and dynamic arrays of *nix systems 2022-11-23 22:46:02 +00:00
gingerBill
22bcf1ba70 Extra check for slices and dynamic arrays for -debug 2022-11-23 22:31:21 +00:00
gingerBill
51c705edf1 Add extra check to debug information of named composite types 2022-11-23 21:59:53 +00:00
gingerBill
708a1b0cd3 Clean up return logic for split multiple return ABI experiment 2022-11-23 16:42:26 +00:00
gingerBill
7ab591667a Basic support for new ABI experiment on Win64 2022-11-23 16:25:09 +00:00
gingerBill
0a0db23b17 Remove copy elision code 2022-11-22 15:49:27 +00:00
gingerBill
6fa0679be9 Fix #2109 2022-11-21 13:12:44 +00:00
gingerBill
afea221d64 Make structs with the same fields but different tags different types
Fixes #2105
2022-11-21 13:10:49 +00:00
gingerBill
3dfd53aee0 Improve error handling for trailing commas #2136 2022-11-21 11:56:59 +00:00
gingerBill
c7be30e0ea Fix #2172 2022-11-21 11:38:29 +00:00
gingerBill
1baa47c78e Fix #2179 2022-11-21 11:31:35 +00:00
gingerBill
0b33df4e9d Fix #2186 2022-11-21 11:30:21 +00:00
gingerBill
4c40495742 Fix #2188 2022-11-21 11:23:10 +00:00
gingerBill
824b97d250 Fix #2197 2022-11-21 11:14:29 +00:00
gingerBill
5bbab05161 Fix #2199 2022-11-21 11:02:52 +00:00
gingerBill
83558a1352 Fix #2201 2022-11-21 11:01:01 +00:00
gingerBill
cb183e968a Fix #2202 2022-11-21 10:30:59 +00:00
gingerBill
27d56d0da4 Fix #2125 2022-11-21 10:25:34 +00:00
gingerBill
c663566cd5 Fixed comparison against nil for maps 2022-11-20 01:34:57 +00:00
gingerBill
15bbdb2030 Merge pull request #2181 from odin-lang/map-dev
New `map` internals
2022-11-17 15:29:28 +00:00
Jeroen van Rijn
d3c5143292 Fix microsoft_craziness.h 2022-11-15 13:57:02 +01:00
gingerBill
25bec19b1f Revert "Minor improvement to multi return value reducing stack usage" 2022-11-13 23:56:05 +00:00
gingerBill
81f83d5780 Fix prototype 2022-11-13 23:51:59 +00:00
gingerBill
d2019e3e4d Enforce pointer cast 2022-11-13 23:50:45 +00:00
gingerBill
3edb3d8d8c Simplify the handling of the hashing calls for maps 2022-11-13 23:24:08 +00:00
gingerBill
a705a2e38b Minor improvement to multi return value reducing stack usage 2022-11-13 22:55:32 +00:00
gingerBill
7cfbd87f57 Merge branch 'master' into map-dev 2022-11-11 15:56:14 +00:00
gingerBill
e9e05a3783 Fix typo 2022-11-11 15:55:55 +00:00
gingerBill
2b83f27f06 Merge branch 'master' into map-dev 2022-11-11 15:54:33 +00:00
gingerBill
3d0e194298 Check for non-zero sized elements for intrinsics.ptr_sub 2022-11-11 15:54:13 +00:00
gingerBill
fcd8860990 Make intrinsics.ptr_sub use explicit integer arithmetic internally 2022-11-11 15:52:49 +00:00