Commit Graph

12259 Commits

Author SHA1 Message Date
gingerBill 2b4010998d Up ci.yml 2021-04-24 20:55:50 +01:00
gingerBill 4272fe5e85 Update Makefile to compile with LLVM C API 2021-04-24 20:46:47 +01:00
gingerBill c29b643a58 Move out some intrinsics into separate procedures in llvm_backend.cpp; Rename InlineRangeStmt to UnrollRangeStmt (eventually merge the two AST nodes) 2021-04-24 15:00:01 +01:00
Daniel Gavin 87bfd31664 force all enums newlined if there is more than one line 2021-04-23 23:42:53 +02:00
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
gingerBill c9b82a21e9 Move check_builtin_procedure to check_builtin.cpp 2021-04-23 10:01:52 +01:00
gingerBill bd31a99bf7 Remove redundant auto_cast 2021-04-23 09:50:26 +01: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