gingerBill
b9a2426e57
Merge branch 'master' into compiler-improvements-2022-12
2022-12-21 23:59:31 +00:00
gingerBill
81037b3091
Change the order of the args and ret for Arm64 ABI
2022-12-21 23:56:34 +00:00
gingerBill
3040361fac
Correct type_ptr_set_update and type_ptr_set_exists
2022-12-20 14:59:00 +00:00
gingerBill
44caa96d50
Set the file's filename and directory in init_ast_file
2022-12-20 14:56:44 +00:00
gingerBill
eb0775ad53
Move mutex use around in thread pool
2022-12-20 14:45:01 +00:00
gingerBill
8fc9566a83
Use *_set_update where possible
2022-12-20 14:19:55 +00:00
gingerBill
134c7db4d2
Combine join and destroy for threads
2022-12-20 14:08:24 +00:00
gingerBill
a0e3a99dd1
Remove need for semaphore in Thread
2022-12-20 14:07:14 +00:00
gingerBill
0edda2bea7
Clarify ThreadPool interface; Move import_mutex guarding to just the string set
2022-12-20 12:46:33 +00:00
gingerBill
a13e2f4578
Fix minor race condition
2022-12-19 00:29:40 +00:00
gingerBill
01b508f182
Use usize for bounds checking in Array and Slice (compiler)
2022-12-18 23:26:44 +00:00
gingerBill
2a8fa8612d
Use fetch_add rather than +=
2022-12-18 23:24:34 +00:00
gingerBill
e27046098b
Add missing gb_internal
2022-12-18 22:58:34 +00:00
gingerBill
ca8b148fdc
Add gb_internal to path procedures
2022-12-18 22:52:18 +00:00
gingerBill
c1f5be24e2
Remove dead code in the compiler
2022-12-18 22:49:10 +00:00
gingerBill
6cdec65ca1
gb_internal LLVM backend
2022-12-18 22:32:05 +00:00
gingerBill
66ce990e0b
gb_internal to docs and other auxiliary files
2022-12-18 21:51:04 +00:00
gingerBill
690666537c
Add gb_internal to checker
2022-12-18 21:46:27 +00:00
gingerBill
056ba1ed13
Even more gb_internal everywhere
2022-12-18 21:24:45 +00:00
gingerBill
ac5f5a33e9
gb_internal a lot
2022-12-18 21:17:07 +00:00
Thomas Stibor
1ca7da6914
Enable -out:<filepath> for build and runs with the attribute @(test)
...
According to the odin help command
$ odin help test
...
-out:<filepath>
Set the file name of the outputted executable
Example: -out:foo.exe
building and running tests the executable output filepath shall be
specified. However, the -out parameter is disabled, resulting in error message:
Unknown flag for 'odin test': 'out'
'out' is supported with the following commands:
run, build
Omitting the -out parameter results in default filepath '01.bin' (on Linux).
However, it is desirable for user specifying the output filepath, e.g. by
using this Makefile snippet:
TARGET=main
FLAGS=-warnings-as-errors -verbose-errors
all: run
run:
@odin run . $(FLAGS) -out:$(TARGET)
test:
@odin test . $(FLAGS) -out:$(TARGET)
clean:
@rm -f $(TARGET)
In addition a typo is fixed.
2022-12-14 14:26:32 +01:00
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