Daniel Gavin
5fba548aa0
more fixes with wierd comment placements
2021-04-23 23:22:48 +02:00
Daniel Gavin
aafbf5bac7
odinfmt
2021-04-23 22:55:59 +02:00
Daniel Gavin
951e940470
handle comments in stupid places
2021-04-23 21:52:27 +02:00
Daniel Gavin
3b5b845ea6
refractor
2021-04-23 16:45:55 +02:00
Daniel Gavin
3f9ad6ba09
fix proc group, struct align with internal structs
2021-04-23 16:33:11 +02:00
Daniel Gavin
f10f7ebbf1
Merge remote-tracking branch 'upstream/master' into prototype-fmt
2021-04-23 10:24:05 +02:00
gingerBill
17bbb48d8a
Warn on redundant auto_cast, and make an error on -vet
2021-04-22 17:36:28 +01:00
gingerBill
ac53577e9b
Improve auto_cast logic
2021-04-22 17:29:48 +01:00
gingerBill
896057b5a7
Reuse unused 'context' variables to minimize stack usage (-llvm-api)
2021-04-22 16:56:02 +01:00
gingerBill
01db195b47
Make main calling convention "odin" rather than "contextless" to simplify code generation
2021-04-22 16:26:28 +01:00
gingerBill
d33350e3a5
Add truncate_to_byte and truncate_to_rune for packages strings and bytes
2021-04-22 15:49:10 +01:00
gingerBill
8a86c4c7cc
Remove old code
2021-04-22 14:24:30 +01:00
gingerBill
1c9f48031d
Change function pass manager passes
2021-04-22 13:54:26 +01:00
gingerBill
7fcd5ecbd5
Change how lb_populate_function_pass_manager works by using the default LLVM passes when not using minimal optimizations
2021-04-22 12:35:01 +01:00
gingerBill
b68b090f13
Add intrinsics: overflow_add, overflow_sub, overflow_mul; Change byte swap behaviour in -llvm-api to be the same as the intrinsic
2021-04-22 11:33:46 +01:00
gingerBill
542098dc6f
Add intrinsics: byte_swap (integers and floats); count_ones; trailing_zeros; reverse_bits
2021-04-22 11:06:16 +01:00
gingerBill
0a66f8c9a3
Remove intrinsics.x86_mmx type
2021-04-22 10:39:20 +01:00
gingerBill
158e4c0b6c
Add @(cold) tag
2021-04-22 10:35:37 +01:00
gingerBill
47c7dc6a9b
Add new intrinsics: debug_trap, trap, read_cycle_counter, expect
2021-04-22 10:35:17 +01:00
gingerBill
65551ba8fb
Add optimization_mode attribute for procedures
...
Allowed modes: "none", "minimal", "size", "speed"
Currently: none == minimal and size == speed
2021-04-22 00:04:47 +01:00
Daniel Gavin
40ed7e48d0
remove prints
2021-04-22 00:56:31 +02:00
Daniel Gavin
ab53900c95
check comma count in enum instead
2021-04-22 00:55:25 +02:00
gingerBill
c7d92562c2
Fix typo
2021-04-21 23:40:19 +01:00
gingerBill
5b3802b8ca
Add new -o:<string> flag as an alternative to -opt:<integer>
2021-04-21 23:39:48 +01:00
Daniel Gavin
43589a56b7
odinfmt on printer
2021-04-22 00:32:36 +02:00
gingerBill
2fb0383e82
Add -build-mode:llvm-ir for -llvm-api backend
2021-04-21 23:25:08 +01:00
Daniel Gavin
de1838c0cb
align not mutable correctly
2021-04-22 00:23:17 +02:00
Daniel Gavin
9b8563dfc0
style
2021-04-22 00:08:03 +02:00
Daniel Gavin
b18e8898d8
ran odinfmt on source
2021-04-22 00:07:07 +02:00
Daniel Gavin
ca112c0b6d
better placing of the end brace
2021-04-22 00:04:01 +02:00
Daniel Gavin
6eb64f2bdc
align enum
2021-04-21 23:40:08 +02:00
Daniel Gavin
25c3b6dc95
align value decls
2021-04-21 23:21:45 +02:00
gingerBill
8077d5f565
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-04-21 10:52:34 +01:00
gingerBill
6b45856e81
Remove useless error message for constant binary expressions with non-constant operations
2021-04-21 10:52:26 +01:00
gingerBill
28e5df6e7f
Merge pull request #907 from awwdev/fix-variable-name-in-path_unix
...
fix variable name in path_unix
2021-04-20 21:14:25 +01:00
André
22867ec6f0
fix variable name in path_unix
...
replace the immutable variable "path" (that is a parameter) with a new variable "path_str"
2021-04-20 22:09:10 +02:00
gingerBill
d0a50ff0a3
Merge pull request #905 from jasmcaus/patch-1
...
Fix potential Typo
2021-04-20 10:44:54 +01:00
gingerBill
e9b1d4f633
Fix #906
2021-04-20 10:34:41 +01:00
gingerBill
ba9f0dd553
Hack ABI for windows passing pointers to structures
2021-04-19 23:03:22 +01:00
gingerBill
c3b3194a00
Update builtin procedures to support the new allocator features (without breaking other code)
2021-04-19 22:44:20 +01:00
gingerBill
201cad51a9
Fix typo
2021-04-19 22:41:52 +01:00
gingerBill
d21e522208
Add code that was accidentally removed
2021-04-19 22:35:59 +01:00
gingerBill
f1bdd2e60f
Improve #optional_ok logic for procedures; Add #optional_second for package runtime usage
2021-04-19 22:31:14 +01:00
Daniel Gavin
3464784e5e
add proc to format multiline
2021-04-19 19:41:53 +02:00
Daniel Gavin
f1dc7c0b27
more work
2021-04-19 19:38:08 +02:00
gingerBill
0eb75886d1
Allow assignment of procedure calls with #optional_ok to single values
2021-04-19 16:02:36 +01:00
gingerBill
3612569624
Allow casting of #optional_ok call expressions
2021-04-19 15:46:12 +01:00
gingerBill
c83d13d0cb
Fix update_expr_type behaviour, along with fixing procedure groups updating the proc expr type
2021-04-19 15:12:10 +01:00
gingerBill
f98c4d6837
Improve the Allocator interface to support returning Allocator_Error to allow for safer calls
...
Virtually all code (except for user-written custom allocators) should work as normal. Extra features will need to be added to make the current procedures support the `Allocator_Error` return value (akin to #optional_ok)
2021-04-19 12:31:31 +01:00
gingerBill
a4d0092b16
Remove temporary reference types
2021-04-19 11:02:09 +01:00