Commit Graph

107 Commits

Author SHA1 Message Date
gingerBill
3d8bf36a30 foreign export block
```
foreign export {
    my_i32: i32;
    my_foo :: proc() -> i32 {
        return 123;
    }
}
```
2017-10-15 16:05:42 +01:00
gingerBill
e05fe1837d Fix minimal dependency generation for polymorphic structs (related to issue #121) 2017-10-15 11:21:48 +01:00
gingerBill
94762b56f6 Fix issue #122 2017-10-15 10:14:17 +01:00
Ginger Bill
26d3c54aff Fix issue #119
This may need better error messages
2017-10-12 20:52:19 +01:00
Ginger Bill
349a62121c Fix issue #120 2017-10-12 20:32:44 +01:00
Ginger Bill
444d366c39 Fix issue #115 2017-10-09 17:56:26 +01:00
Ginger Bill
6424966b7a Union tag stored as an integer 2017-10-08 15:16:13 +01:00
Ginger Bill
4e42d7df43 Minor code reorganization 2017-10-08 12:27:03 +01:00
Ginger Bill
ee904060c5 Disallow anonymous structs with procedures as default values 2017-10-01 21:22:39 +01:00
Ginger Bill
afb5538e83 Default procedure values for proc 2017-10-01 20:27:02 +01:00
Ginger Bill
1f24f105cc "Constant" procedure values for default values in structs 2017-10-01 20:10:13 +01:00
Ginger Bill
8f39ebbe5a Procedure literals for default values in structs 2017-10-01 20:01:00 +01:00
Ginger Bill
c1e720a49b match to switch; Optional semicolons after "import" statements 2017-10-01 17:09:57 +01:00
Ginger Bill
e2b9c87aa8 Wrap entry point main around the C style main in the IR 2017-09-30 11:20:35 +01:00
Ginger Bill
8c7cf0dbb0 Fix union array bug (Issue #112) 2017-09-29 21:35:59 +01:00
Ginger Bill
11614c2649 Fix old_demos; Fix when bug; Fix enum .names 2017-09-29 21:11:16 +01:00
Ginger Bill
b77ea94976 Fix issue #108 2017-09-25 22:59:59 +01:00
Ginger Bill
61a163d773 Fix crash with build_dll (Issue #100) 2017-09-20 21:00:40 +01:00
Ginger Bill
85097a9958 Fix global variable initialization IR bug 2017-09-10 13:50:11 +01:00
Ginger Bill
36e3a02f67 Fix bit_field type information 2017-09-02 22:54:11 +01:00
Ginger Bill
566a242ba3 Fix issue #92 2017-09-02 10:06:44 +01:00
Ginger Bill
2d20bde495 Remove () grouping for foreign_library 2017-08-27 19:24:30 +01:00
Ginger Bill
6c73f9d3fd Global variable dependency initialization ordering
Fuck graph theory
2017-08-20 18:28:21 +01:00
Ginger Bill
01519f2fd5 Fix push_allocator 2017-08-13 22:09:26 +01:00
Ginger Bill
d7bd3f8402 Fix compilation issues on OSX 2017-08-11 00:16:57 +01:00
Ginger Bill
f4c0405221 Fix inline #raw_union bug in issue #87 2017-08-08 21:27:42 +01:00
Ginger Bill
d854c5003c Fix minor errors for *nix 2017-08-01 17:28:49 +01:00
Ginger Bill
0fae31fb54 Extra type safety; Fix typos 2017-07-31 11:36:00 +01:00
Ginger Bill
10ff8e0426 Fix ir for TypeInfo.Map 2017-07-30 20:17:25 +01:00
Ginger Bill
62a72f0163 transmute(type)x; Minor code clean up 2017-07-30 14:52:42 +01:00
Ginger Bill
ca36fabfc0 Remove dead code for the "fixed" map idea 2017-07-29 14:43:42 +01:00
gingerBill
28be0ad69b Fix IR print bug for empty structs; 2017-07-28 11:35:01 +01:00
Ginger Bill
13bc6eeea4 Make fields et al an Array rather than a raw pointer 2017-07-20 15:32:34 +01:00
Ginger Bill
2da18b6d33 Change internals from Record to Struct 2017-07-20 15:23:13 +01:00
Ginger Bill
6d37ed12d2 Update internals of a Union and Tuple 2017-07-20 15:17:04 +01:00
Ginger Bill
f1ab17ed4e type_info_of; enum_value_to_string and string_to_enum_value 2017-07-19 14:01:56 +01:00
Ginger Bill
6113164211 Change union layout to store type info rather than an integer; ternary expression for types with constant condition 2017-07-19 12:15:21 +01:00
Ginger Bill
59fb7b020a Merge raw_union into struct as a memory layout tag #raw_union 2017-07-18 19:24:45 +01:00
Ginger Bill
65f079ebc4 Remove atomic, ++, and -- 2017-07-18 18:58:41 +01:00
Ginger Bill
277ef1a68f Allow undefined --- as a struct field default value. 2017-07-18 15:09:24 +01:00
Ginger Bill
193c7c82c8 Default struct field values 2017-07-18 14:56:07 +01:00
Ginger Bill
9a8759efef Polymorphic type specialization for procedures 2017-07-17 15:08:36 +01:00
Ginger Bill
054948e701 Basic procedure type parameter specialization 2017-07-16 15:00:16 +01:00
Ginger Bill
1c5ddd65b4 Rudimentary support for parametric polymorphic types 2017-07-13 22:35:00 +01:00
Ginger Bill
b8697fb4ed Change precedence order for types e.g. ^T(x) == ^(T(x)) 2017-07-13 16:20:07 +01:00
Ginger Bill
c4c6975f1b cast(Type)expr; Fix overloaded procedure determination on assignment 2017-07-11 14:40:27 +01:00
Ginger Bill
3868a9a0f0 Clean up _preload.odin types 2017-07-10 23:15:41 +01:00
Ginger Bill
ba5050ac7c Compiler Internal Changes: TypeRecord_Union -> Type_Union 2017-07-10 22:59:23 +01:00
Ginger Bill
d936ca1ea0 Compiler internal change: TypeRecord_Enum -> Type_Enum 2017-07-10 22:42:58 +01:00
Ginger Bill
fd8c4d58bb union type allow for any types and removes common fields 2017-07-10 22:32:21 +01:00