Commit Graph

  • 3f156bcb4b Refactor backend code for assignments; Refactor some statements into separate procedures gingerBill 2021-05-24 22:09:21 +01:00
  • d35a9e65b6 Heavily improve the copy elision logic in the backend gingerBill 2021-05-24 20:57:44 +01:00
  • c440296ae8 Add @(link_section=<string>) for global variables gingerBill 2021-05-24 15:41:22 +01:00
  • 79f115d6a7 Handle #c_vararg correctly gingerBill 2021-05-24 14:46:03 +01:00
  • 39eccdf6b9 Make js default to nil allocator for the time being gingerBill 2021-05-23 15:17:58 +01:00
  • 71cfa0c9fe Clean up organization of package runtime gingerBill 2021-05-23 12:13:13 +01:00
  • e82f8214e8 Add bytes.remove, bytes.remove_all, strings.remove, strings.remove_all gingerBill 2021-05-23 11:46:43 +01:00
  • b8f8d4c3a1 Modify ABI for the Odin calling conventions on SysV slightly gingerBill 2021-05-22 11:33:08 +01:00
  • 9e2eb717fe Correct newline_limit logic gingerBill 2021-05-21 15:22:35 +01:00
  • f0c9f82e1b Minor changes to printer to use a bit set rather than booleans for list options gingerBill 2021-05-21 13:42:29 +01:00
  • cc1d3a7b19 parser.check_poly_params_for_type gingerBill 2021-05-21 13:07:00 +01:00
  • 159daba759 Fix ast_end_token gingerBill 2021-05-21 12:44:45 +01:00
  • d7e85725e1 General improves to formatting for the visitor gingerBill 2021-05-21 11:16:07 +01:00
  • 247f4f3293 Fix ..= logic in the backend gingerBill 2021-05-21 10:51:19 +01:00
  • 8758afdf4e General fixes for odinfmt gingerBill 2021-05-21 10:21:23 +01:00
  • 362f07d7c5 Merge pull request #997 from DanielGavin/prototype-fmt gingerBill 2021-05-20 21:02:26 +01:00
  • fe74b479c6 Begin changes to sync2 gingerBill 2021-05-20 21:02:05 +01:00
  • 44ee0f2cdc Merge branch 'master' into prototype-fmt Daniel Gavin 2021-05-20 12:15:14 +02:00
  • 50035f257e don't factor in the rhs length for lines that don't have Equal tokens. Daniel Gavin 2021-05-20 12:13:23 +02:00
  • 92abddddc5 Be a little more correct with the temporary Ast node gingerBill 2021-05-19 15:02:36 +01:00
  • 4d580ed693 Keep -vet happy gingerBill 2021-05-19 14:26:20 +01:00
  • 9c54ed5792 Add range-based error messages to -verbose-errors Example: Cannot convert '(1 + 2)' to 'untyped bool' from 'untyped integer' gingerBill 2021-05-19 14:15:57 +01:00
  • 5108ebf015 Replace error calls with Token to use TokenPos gingerBill 2021-05-19 13:02:44 +01:00
  • 86dbcb1b20 Add -verbose-errors which shows the error in the line of code gingerBill 2021-05-19 12:57:30 +01:00
  • 3ac934dd15 Add suggestion for unused expression on x == y Expression is not used: 'x == 123' Suggestion: Did you mean to do an assignment? 'x = 123;' gingerBill 2021-05-19 11:58:02 +01:00
  • 26ce40c188 Remove @(static) for global variables gingerBill 2021-05-19 11:51:48 +01:00
  • b34e4a9fd1 More minor linkage changes gingerBill 2021-05-19 11:46:27 +01:00
  • 28561ef5f5 Minor change to internal linkage stuff gingerBill 2021-05-19 11:26:05 +01:00
  • 10b798456c Add soa_zip and soa_unzip to demo.odin gingerBill 2021-05-19 10:55:56 +01:00
  • a580cdbe7b Delete core:sync/sync2/channel* stuff (for the time being) gingerBill 2021-05-19 10:50:27 +01:00
  • e82e4398b6 Add intrinsics.mem_copy and intrinsics.mem_copy_non_overlapping gingerBill 2021-05-19 10:50:02 +01:00
  • e0225c3579 Add intrinsics.sqrt for floating-point values gingerBill 2021-05-19 10:32:41 +01:00
  • 8d044fd442 Minor ABI change and cleanup gingerBill 2021-05-17 17:08:25 +01:00
  • 6ef96d3300 Improve untyped to typed logic for aiding the backend gingerBill 2021-05-16 14:44:02 +01:00
  • 2e633f57a0 Add concrete type information for untyped values as procedure arguments gingerBill 2021-05-16 13:00:16 +01:00
  • 50369cf19c Update LICENSE year gingerBill 2021-05-16 12:48:36 +01:00
  • 385385364b Fix #988 gingerBill 2021-05-16 12:46:25 +01:00
  • 9ccdc40f65 Make .Optional_Semicolons a flag for the parser gingerBill 2021-05-16 12:43:35 +01:00
  • df3512b112 Make core:odin use a string for the source rather than []byte gingerBill 2021-05-16 12:38:27 +01:00
  • ce08e832f7 Allow ..= alongside .. as a "full range" operator; Update core:odin/parser etc gingerBill 2021-05-16 12:34:35 +01:00
  • 24c89b3eee Minor change gingerBill 2021-05-16 00:29:22 +01:00
  • 85e5be03d1 Redesign os2.Error to work with the new extended union behaviour gingerBill 2021-05-16 00:25:47 +01:00
  • b1cfeb6c95 Add missing instruction to pass gingerBill 2021-05-15 22:14:20 +01:00
  • fffb83282b Add missing instructions to pass gingerBill 2021-05-15 21:24:17 +01:00
  • 1cf6b6679d Add custom basic dead instruction elimination pass gingerBill 2021-05-15 21:10:06 +01:00
  • 7886798156 Add space gingerBill 2021-05-15 19:49:48 +01:00
  • 0ad599675e Improve semicolon insertion rule for dummy tokens ++ and -- gingerBill 2021-05-15 19:47:00 +01:00
  • 5d03bc61b8 Tokenize ++ and -- as tokens but disallow them in the parser, and give better error messages for they are used as operators/statements gingerBill 2021-05-15 19:34:46 +01:00
  • 5e31c04a01 Disallow duplicate unary operators for +, -, and ~ gingerBill 2021-05-15 19:13:34 +01:00
  • 7b7081d607 Remove old dead code gingerBill 2021-05-15 18:59:54 +01:00
  • 5ae564cc8c Add name to aggregate result pointer to procedures gingerBill 2021-05-15 18:53:52 +01:00
  • 0507b9ebb7 Fix #987 gingerBill 2021-05-15 18:40:06 +01:00
  • f7b1290fe9 Change for i in x..y {} behaviour gingerBill 2021-05-15 18:02:06 +01:00
  • b01c2e1017 Disallow slicing of constant values gingerBill 2021-05-15 16:40:40 +01:00
  • 63b54ce7c6 Add minor ignoring hint on type assertions to get better code generation with no optimizations enabled gingerBill 2021-05-13 12:48:12 +01:00
  • b8a35c658c Remove incl/excl usage from demo gingerBill 2021-05-13 12:06:35 +01:00
  • 465b6139d5 Temporarily fix syscall in Linux and Freebsd (eventually to be replaced with a proper implementation) gingerBill 2021-05-13 12:05:23 +01:00
  • b37d344eb2 Add intrinsics.type_is_variant_of gingerBill 2021-05-13 12:04:51 +01:00
  • d4ee1a9e19 Correct default procedure parameter logic gingerBill 2021-05-13 10:07:28 +01:00
  • be12f12c3c Fix #814 gingerBill 2021-05-13 00:57:10 +01:00
  • 2e5f57d8a1 Fix #741 gingerBill 2021-05-13 00:44:33 +01:00
  • d5c3f99655 Update feature_request.md Mikkel Hjortshøj 2021-05-13 01:26:15 +02:00
  • 083e9e2053 Update feature_request.md Mikkel Hjortshøj 2021-05-13 01:25:37 +02:00
  • c6c5af527b Fix #746 gingerBill 2021-05-12 23:43:16 +01:00
  • 5420cc083d Implement #807 gingerBill 2021-05-12 23:26:21 +01:00
  • c81f7b31c6 Add explicit numbers to enum AddressingMode gingerBill 2021-05-12 23:22:43 +01:00
  • fdd0c726bc Improve error message to "fix" #640 gingerBill 2021-05-12 23:12:20 +01:00
  • da9cabc334 Fix #682 gingerBill 2021-05-12 23:02:57 +01:00
  • d962cfdc6b Fix #713 gingerBill 2021-05-12 22:38:37 +01:00
  • dfb8143149 Fix #651 gingerBill 2021-05-12 22:23:43 +01:00
  • d2fcbf0e1d Fix #948 gingerBill 2021-05-12 15:00:19 +01:00
  • e08f39ec28 Remove unneeded assert gingerBill 2021-05-11 16:20:50 +01:00
  • d353f97f91 Add byval with align, sret attributes for SysV gingerBill 2021-05-11 13:30:27 +01:00
  • 8144e82c6c Fix docs for -lld gingerBill 2021-05-11 13:13:34 +01:00
  • d0f7cf74e9 Add llvm-config version 11 check for Darwin in Makefile gingerBill 2021-05-11 12:31:56 +01:00
  • e1c2528d87 Remove warning on \*nix gingerBill 2021-05-11 12:29:27 +01:00
  • eac61fb536 Remove LLVMAddLowerConstantIntrinsicsPass gingerBill 2021-05-11 12:17:48 +01:00
  • 20f7e61363 Revert LLVM-C.lib gingerBill 2021-05-11 12:11:59 +01:00
  • 8bb6651dda Remove test call for LLVM gingerBill 2021-05-11 12:08:09 +01:00
  • 8ff80dec58 Minor change (in preparation for something else) to opt passes gingerBill 2021-05-11 12:00:55 +01:00
  • f31b09212a Improve SysV ABI gingerBill 2021-05-11 12:00:27 +01:00
  • 073bd3f6c9 Update LLVM-C.lib (since it was missing many required definitions missing from the official one that LLVM supplied) gingerBill 2021-05-11 10:55:55 +01:00
  • 9a4d942b0b Fix debug information for array types by setting the DISubrange gingerBill 2021-05-10 21:29:25 +01:00
  • ff6fdc7812 Correct SysV ABI for -> (f32, bool) gingerBill 2021-05-10 21:16:26 +01:00
  • c85c5ec38c Merge branch 'master' of https://github.com/odin-lang/Odin gingerBill 2021-05-07 13:18:07 +01:00
  • d70b5475eb Minor code clean up gingerBill 2021-05-07 13:18:01 +01:00
  • 42138d1ad5 Merge pull request #947 from Kelimion/deprecated gingerBill 2021-05-07 10:59:08 +01:00
  • 47f97b8f89 Remove unused hint gingerBill 2021-05-06 14:09:50 +01:00
  • 902be0d09c Improve type inference system to allow &{} alongside &T{} in some cases gingerBill 2021-05-06 14:06:22 +01:00
  • 502ad0c10b sync2.Auto_Reset_Event; Make atomic operations names clearer gingerBill 2021-05-06 14:00:01 +01:00
  • 27f5aadd5a Merge branch 'master' of https://github.com/odin-lang/Odin gingerBill 2021-05-06 13:59:14 +01:00
  • da7a9a3584 Improve type inference rules for implicit selector expressions gingerBill 2021-05-06 13:59:05 +01:00
  • 03862d1f48 Mark mem.slice_ptr_to_bytes as deprecated. Jeroen van Rijn 2021-05-06 13:23:17 +02:00
  • 15ce8b0454 Merge pull request #946 from Kelimion/virtual_allocator Jeroen van Rijn 2021-05-06 11:33:08 +02:00
  • 4f51d74fc2 Fix typo in core:mem alloc() comment. Jeroen van Rijn 2021-05-06 11:25:41 +02:00
  • b6a1ec0229 Remove debug code gingerBill 2021-05-05 23:34:53 +01:00
  • 60685369b9 Fix typo gingerBill 2021-05-05 23:34:39 +01:00
  • 0f2a9e6143 Fix LLVM store point for nested types containing procedures (e.g. ^^proc()) gingerBill 2021-05-05 23:00:12 +01:00
  • 278de3a92f Unify AstTernaryExpr with AstTernaryIfExpr gingerBill 2021-05-05 15:22:54 +01:00
  • abdf54800e Improve ternary expression logic within parametric polymorphic parameter assignments gingerBill 2021-05-05 15:14:39 +01:00