Commit Graph

2033 Commits

Author SHA1 Message Date
gingerBill 15dbc99cb9 Minimize TokenPos size by using i32 for line/column/offset and file_id instead of String
To make `i32` safe, the parser limits the file size of odin files to a maximum of 2GiB (which will be good enough for the vast vast majority of cases)
2021-03-04 16:45:30 +00:00
gingerBill 75f127af7c Add -vet-extra (checks for unneeded casts and transmutes) 2021-03-03 14:17:48 +00:00
gingerBill c2794b62a9 Clean up logic for << and >> behaviour 2021-03-02 16:48:39 +00:00
gingerBill 4e63ab5edc Re-enable "LLVM Function Pass" 2021-03-02 13:36:57 +00:00
gingerBill 2a1bec9fbb Clean up lb_end_procedure_body logic 2021-03-02 00:43:25 +00:00
gingerBill 667aa3671e Fix Addressing for SOA on store; Add intrinsics.type_struct_field_count(T) 2021-03-01 17:54:49 +00:00
gingerBill b428e9ee14 Improve lb_end_procedure_body logic 2021-03-01 15:14:21 +00:00
gingerBill 868117cddd Remove hack in lb_addr_store 2021-03-01 12:59:17 +00:00
gingerBill 9e0210f7f6 Merge branch 'master' of https://github.com/odin-lang/Odin 2021-03-01 12:15:38 +00:00
gingerBill 302742689b Patch win64 ABI problem caused by a bug in LLVM for 128 bit integers 2021-03-01 12:15:28 +00:00
gingerBill 6ffb4d2683 Minor changes to function pass manager in llvm_backend.cpp 2021-02-27 17:47:57 +00:00
gingerBill 4f298a5314 Fix LLVM -opt:2 bug for initializing global variables 2021-02-27 15:54:22 +00:00
gingerBill f49278b5f4 Merge pull request #855 from nakst/master
Update Essence API header
2021-02-27 11:34:38 +00:00
gingerBill 1f9a2df42b Fix crash when a forced dependency doesn't exist 2021-02-27 10:57:44 +00:00
gingerBill ee04dde7c2 HACK check_unchecked_bodies further! 2021-02-26 15:34:12 +00:00
gingerBill 54194af71c Fix patch (yeah... I know) 2021-02-26 15:29:10 +00:00
gingerBill 575c7ff031 Patch issue with minimum dependency system and how it interacts with para poly procedures 2021-02-26 15:09:32 +00:00
nakst 7b4ddd9b18 update essence API header 2021-02-26 14:46:38 +00:00
gingerBill ac155d9036 Merge branch 'master' of https://github.com/odin-lang/Odin 2021-02-26 10:56:40 +00:00
gingerBill d772710ae7 Add message to assert in ir_build_expr_internal 2021-02-26 10:56:32 +00:00
Mykola Konyk 8182d9e828 Fixing a typo in llvm backend. 2021-02-25 13:13:25 -05:00
gingerBill d0ac9f605d Merge branch 'master' of https://github.com/odin-lang/Odin 2021-02-25 13:17:07 +00:00
gingerBill 3eae69effc Make USE_NEW_LLVM_ABI_SYSTEM the actual behaviour and remove the previous approach 2021-02-25 13:17:00 +00:00
gingerBill 53e4c536a1 Merge pull request #852 from Tetralux/fix-dll-mac
Fix -build-mode:shared on Darwin
2021-02-25 12:17:29 +00:00
gingerBill 84deee75cc Make lb_create_enum_attribute ignore certain attributes (they are not properly supported by the actual LLVM C API) 2021-02-25 11:39:46 +00:00
gingerBill 82275082ff Add #force_inline parsing directly to expression statements 2021-02-25 10:01:12 +00:00
gingerBill fc48e9638a Merge branch 'master' of https://github.com/odin-lang/Odin 2021-02-25 09:55:56 +00:00
gingerBill 4a69bfada1 Remove #force_inline for and only have #unroll for 2021-02-25 09:55:48 +00:00
gingerBill 4d13a43590 Enforce -llvm-api on Mac M1 2021-02-25 00:39:44 +00:00
gingerBill b2fdb53e26 fix timings.cpp for M1 2021-02-25 00:39:26 +00:00
gingerBill 58422711d1 Remove sret attribute in llvm_abi.cpp 2021-02-25 00:22:47 +00:00
gingerBill ba817d153c Get compiling on Mac Mini M1 2021-02-24 23:21:34 +00:00
gingerBill 2d88c6c6a5 Begin work on aarch64 ABI for -llvm-api 2021-02-24 16:49:19 +00:00
gingerBill 425bb0579e Default to -microarch:generic 2021-02-24 15:59:31 +00:00
Tetralux a9af8b093d Fix -build-mode:shared on Darwin
Apparently, the '__$startup_runtime' symbol to initialize RTTI stuff has
three underscores (not two) on Darwin!
2021-02-24 02:18:47 +00:00
gingerBill 8f9111e552 Build tag to make all declarations within a file private to the package //+private 2021-02-23 20:40:48 +00:00
gingerBill 533dde4648 Add deprecation message for inline and no_inline to use #force_inline and #force_no_inline instead 2021-02-23 16:22:28 +00:00
gingerBill 41b854f192 Remove #opaque types 2021-02-23 15:45:06 +00:00
gingerBill 28f279329d Remove bit_field keyword and parsing logic 2021-02-23 15:29:54 +00:00
gingerBill fe33a64b2e Remove #opaque usage in core library 2021-02-23 15:21:05 +00:00
gingerBill f95185a16e Fix new flags 2021-02-23 15:05:03 +00:00
gingerBill 01313eec7f Add flags -ignore-warnings and -warnings-as-errors 2021-02-23 14:59:28 +00:00
gingerBill a1693c0184 Deprecate inline for in favour of #unroll for 2021-02-23 14:45:15 +00:00
gingerBill 908a403d78 Add #force_inline, #force_no_inline and #unroll for the transition to deprecate and then remove the keywords inline and no_inline
`inline for` will be replaced with `#unroll for`
2021-02-23 14:37:05 +00:00
gingerBill 28ed310f31 Remove "pure" and "pure_none" calling conventions 2021-02-23 13:10:23 +00:00
gingerBill a652c24ac3 Remove opaque keyboard 2021-02-23 13:02:18 +00:00
gingerBill 595885d3db Remove bit_field in type info, runtime, and general core library 2021-02-19 11:36:23 +00:00
gingerBill efdee0dafb Remove bit_field type from Odin (keyword and dead runtime code still exists) 2021-02-19 11:31:14 +00:00
gingerBill d168c7936e Fix slices of slices in procedures for -llvm-api 2021-01-27 15:56:32 +00:00
gingerBill e64eb74eef Fix #831 2021-01-27 15:27:38 +00:00