Commit Graph

1840 Commits

Author SHA1 Message Date
Joseph Battelle 3a3d415295 Fix issue #486
Use `check_is_assignable_to_using_subtype` in
`is_polymorphic_type_assignable`.

The polymorphic procedure in #486 can now also be written without the
cast:
```odin
print_entity :: proc(e : ^$E, p : proc(^$T) = print_base) { p(e); }
```
2020-09-16 12:32:57 -07:00
gingerBill 59d9821bd9 Add intrinsics.type_has_field 2020-09-16 20:08:45 +01:00
gingerBill f530c80216 Fix -debug bug with internal startup procedures 2020-09-16 15:16:29 +01:00
nakst c92860e142 update essence platform 2020-09-15 23:22:19 +01:00
gingerBill ebad8e8990 Change how ir.cpp calls the startup type info procedure 2020-09-15 19:40:37 +01:00
gingerBill 9d976b04bc Fix +build tag logic 2020-09-15 12:45:44 +01:00
gingerBill 92cd50d3f0 Add TargetOS_freestanding for future use 2020-09-15 12:29:32 +01:00
gingerBill 1ef1407f02 Update ODIN_VERSION 2020-09-15 12:28:15 +01:00
gingerBill edbad0709e Add -default-to-nil-allocator flag (sets ODIN_DEFAULT_TO_NIL_ALLOCATOR) 2020-09-15 12:27:53 +01:00
gingerBill 0cd681e6b7 Expose runtime._startup_runtime to allow for freestanding targets in the future 2020-09-15 10:51:51 +01:00
gingerBill 3211e60018 Merge pull request #734 from krixano/FreeBSD
FreeBSD Support
2020-09-15 10:12:42 +01:00
Joseph Battelle e9c598a426 Fix issue #723
Typo in `check_stmt_internal` for case Ast_UsingStmt; first element
was used for all elements of the enumerated list.
2020-09-14 16:41:53 -07:00
Christian Seibold 577be4a8ae Get Odin compiling and produced exe's running on FreeBSD 2020-09-14 15:22:35 -05:00
Christian Seibold ac126a8cd7 Add FreeBSD targets, get gb.h working with FreeBSD, fix odin_root_directory function for FreeBSD and a few other operating systems not yet added 2020-09-14 11:28:41 -05:00
Joseph Battelle 2f32b8fb3d Fix issue #515
Modify `check_type_specialization_to` to require exact values
to be equal when called with constant basic types. This also
now allows procedure group members to differ only by constant
value specializations.  See the further example in the issue.
2020-09-13 22:58:05 -07:00
gingerBill 1fd1203d8b Improve error message for multi-valued global declarations not be allowed 2020-09-12 16:04:02 +01:00
gingerBill ccb7c3513b Fix check_arity_match bug 2020-09-12 15:50:42 +01:00
gingerBill bf215377de Add edge case check for "" string 2020-09-11 16:20:46 +01:00
gingerBill d317d3d8b3 Simplify "" string code 2020-09-11 16:18:24 +01:00
gingerBill 77829af9de Fix delete("") on -llvm-api; Fix linalg stuff 2020-09-11 13:46:52 +01:00
gingerBill 6aa708a455 Fix Odin bug with "none" procedure calling conventions in the runtime 2020-09-10 16:36:33 +01:00
gingerBill c1149dbdee Update math and math/linalg; add "pure_none" calling convention 2020-09-10 15:00:19 +01:00
gingerBill 7e625f6ee7 Add extra check for checking uniqueness of package names 2020-09-10 11:13:09 +01:00
gingerBill 7f48cf8405 [REFLECTION BREAKING] Modify the internals of the map type to increase performance 2020-09-07 11:41:42 +01:00
gingerBill 4daf098a3a Fix defer on explicit return of a procedure with no return values for llvm-api 2020-08-27 11:06:44 +01:00
gingerBill d31c63c0ae Fix #714 2020-08-27 00:11:02 +01:00
gingerBill c783840eab Fix #642 2020-08-26 23:20:25 +01:00
gingerBill df3690c32a Revert accidental removal of #const for procedure variable parameters #718 2020-08-26 22:46:54 +01:00
Mikkel Hjortshoej ae2fc5830e Add git sha to odin version command 2020-08-23 15:25:19 +02:00
gingerBill 6158a49618 Make sync.atomic_* operations use when statements instead of switch; Make #panic diverging 2020-08-16 12:34:12 +01:00
gingerBill fa903fb4df Fix #674 2020-08-06 00:09:36 +01:00
gingerBill 5164d1d866 Fix named results but in ir.cpp 2020-08-05 23:43:23 +01:00
gingerBill b6e33a1e64 Ensure add_type_info_type and add_min_dep_type_info are consistent 2020-08-05 23:36:31 +01:00
gingerBill f5248a8d9d Fix #705 2020-08-05 23:33:35 +01:00
gingerBill 74ed779616 Fix #702 2020-08-05 23:14:11 +01:00
gingerBill 9f24188ec8 Fix #708 2020-08-05 22:51:24 +01:00
gingerBill 5551404be4 Fix gb_alloc_str_len 2020-08-05 22:32:27 +01:00
gingerBill d1d5f61230 Add intrinsics.alloca 2020-08-02 14:59:39 +01:00
gingerBill 0aaab84938 Allow multiple -define flags 2020-07-16 20:59:03 +01:00
gingerBill ca818fb857 Remove comments containing unicode characters from tokenizer 2020-07-14 23:51:46 +01:00
gingerBill 13e5cb8cc4 Fix #691 and Fix #692 2020-07-14 23:50:09 +01:00
gingerBill 7ae54ae3b4 Add -no-dynamic-literals to disallow dynamic array and map literals 2020-07-14 23:01:34 +01:00
gingerBill 86f1574f78 Fix #696 2020-07-14 16:43:23 +01:00
gingerBill c18fc2da9f Remove some dead code 2020-07-14 16:36:33 +01:00
gingerBill cb52f6986a Fix Addressing_OptionalOk selector expression rules for struct field variables 2020-07-08 23:39:49 +01:00
gingerBill 9da1347c21 Fix Source_Code_Location error for *_insert_dynamic_map_key_and_value procedures 2020-07-08 22:57:39 +01:00
gingerBill a8c10c58b4 Fix negation of complex and quaternion numbers for ir.cpp backend 2020-07-08 22:35:47 +01:00
gingerBill 51e50d3e31 Add intrinsics.type_proc_parameter_type; Add intrinsics.type_proc_return_type 2020-07-01 22:35:38 +01:00
gingerBill 1b2cc739a9 Handle llvm package name edge case for IR mangling 2020-06-30 19:12:53 +01:00
gingerBill 7bdd8094d6 Fix signature_parameter_similar_enough logic 2020-06-30 19:10:24 +01:00