Commit Graph

7493 Commits

Author SHA1 Message Date
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
e45401bfb4 Fix #2207 2022-11-23 14:14:22 +00:00
Jeroen van Rijn
6b652afb8e Merge pull request #2206 from thisisnotnull/fix-wprintf
fix wprintf return value
2022-11-22 16:53:23 +01:00
gingerBill
0a0db23b17 Remove copy elision code 2022-11-22 15:49:27 +00:00
thisisnotnull
76b85c0622 fix wprintf return value 2022-11-21 21:39:43 +01: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
b9ec2de4db strconv.parse_f64 - accurately parse floats 2022-11-21 13:00:24 +00:00
gingerBill
3dfd53aee0 Improve error handling for trailing commas #2136 2022-11-21 11:56:59 +00:00
gingerBill
b54fc8ff95 Fix UUID 2022-11-21 11:53:49 +00:00
gingerBill
8745942255 Fix #2174 2022-11-21 11:42:43 +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
13d052027f Merge pull request #2204 from colrdavidson/fix_wasm_mem
fix missing wasm memory case
2022-11-19 10:17:40 +00:00
Colin Davidson
7076cf69e4 fix missing wasm memory case 2022-11-18 23:41:47 -08: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
48c9c1682c Merge pull request #2198 from Kelimion/ms-craziness
Fix microsoft_craziness.h
2022-11-15 14:02:11 +01:00
Jeroen van Rijn
d3c5143292 Fix microsoft_craziness.h 2022-11-15 13:57:02 +01:00
Jeroen van Rijn
3949e2220f Test new map when used as a set.
map[K]struct{} works fine.
2022-11-15 01:27:29 +01:00
Jeroen van Rijn
9ed4f95c1a Merge pull request #2196 from Skytrias/opengl-defines
Add missing OpenGL constants based on GLAD
2022-11-15 01:13:50 +01:00
Michael Kutowski
8daecf7532 Update constants.odin 2022-11-15 01:06:03 +01:00
Michael Kutowski
11d665c25a Update enums.odin 2022-11-15 01:05:38 +01:00
Jeroen van Rijn
98a086b91b Merge pull request #2194 from mifreundorfer/fix-scratch-allocator
Handle freeing nil in scratch allocator
2022-11-14 22:04:00 +01:00
Michael Freundorfer
f323a179d9 Handle freeing nil in scratch allocator 2022-11-14 21:44:20 +01:00
Jeroen van Rijn
c6f282d20b Merge pull request #2193 from ftphikari/master
sys/windows: add ShellExecuteExW
2022-11-14 21:06:27 +01:00
hikari
ba49a9100d sys/windows: add ShellExecuteExW 2022-11-14 21:58:12 +02:00
Jeroen van Rijn
6fe77155b5 Merge pull request #2191 from Kelimion/build_float
Don't write leading + unless +Inf or we ask for it.
2022-11-14 16:46:10 +01:00
Jeroen van Rijn
677e7ff642 Don't write leading + unless +Inf or we ask for it. 2022-11-14 16:32:50 +01:00