Commit Graph

79 Commits

Author SHA1 Message Date
gingerBill
56ff5496bc Minimal Type Info Dependency handling 2018-05-12 16:53:44 +01:00
gingerBill
20fbece14c Change semantics for distinctness for pointers, arrays, dynamic arrays, and maps. 2018-05-12 10:47:32 +01:00
gingerBill
30f5a3bb93 Move cycle checking to much earlier on in the semantic stage 2018-03-23 20:48:30 +00:00
gingerBill
991479fbf9 Remove allocator parameter to types.cpp functions 2018-03-23 16:01:23 +00:00
gingerBill
5bf0f9d630 Fix type cycle bug 2018-03-23 15:23:14 +00:00
gingerBill
9274f29ca9 deprecated attribute for procedure declarations 2018-03-03 11:16:48 +00:00
gingerBill
d63885a495 array_make 2018-02-25 19:23:52 +00:00
gingerBill
4c339360e9 auto_cast 2018-02-18 15:14:13 +00:00
gingerBill
0ae3484171 Fix zero value initialization in IR 2018-02-11 11:13:52 +00:00
gingerBill
92780e2683 distinct keyword for type declarations 2018-02-05 22:46:30 +00:00
gingerBill
1a0877e965 Fix minimum dependency generation for foreign entities 2018-01-28 14:39:18 +00:00
gingerBill
f661ae9d09 Fix issue with proc group cycles #176 2018-01-28 09:19:23 +00:00
gingerBill
e2600a3e44 Fix #178 2018-01-28 08:59:10 +00:00
gingerBill
367013f589 Change Map and PtrSet grow rate 2017-12-12 23:39:20 +00:00
gingerBill
f7e9649be4 Disable struct field reordering (for the time being) 2017-12-12 18:21:40 +00:00
gingerBill
3c6f90e552 Fix proc groups from import names 2017-12-10 11:35:11 +00:00
gingerBill
3703ca4df4 Explicit procedure group; Remove implicit procedure overloading 2017-12-09 18:11:36 +00:00
gingerBill
596a2c8355 Procedure grouping foo :: proc[foo16, foo32]; 2017-12-03 23:03:40 +00:00
gingerBill
9f52b2c283 Update demo.odin 2017-12-03 22:28:54 +00:00
gingerBill
dffa791607 In error messages, remove with '; Fix error messages for switch` 2017-11-12 19:00:48 +00:00
gingerBill
ae3672608d Fix link_name overriding 2017-11-09 23:36:10 +00:00
gingerBill
04b917a60a More code clean up 2017-11-04 10:53:47 +00:00
gingerBill
e6c99cd289 Cleanup attribute handling 2017-11-04 10:26:56 +00:00
gingerBill
121f0185d6 Custom thread local models 2017-11-03 23:46:42 +00:00
gingerBill
0b29e42adb link_prefix; thread_local; fix link_name for file-scope variables 2017-11-03 23:11:06 +00:00
gingerBill
414486829a Add string_set.cpp; Code clean up 2017-10-30 20:26:05 +00:00
gingerBill
3e05be8eb8 @(default_calling_convention = ...) for foreign blocks 2017-10-29 18:09:05 +00:00
gingerBill
1eb9994d88 Attributes; @(link_name="foo") 2017-10-29 15:46:23 +00:00
gingerBill
a43b89f36e #alias type declarations; core library additions; _global import name for the global scope 2017-10-29 11:35:21 +00:00
gingerBill
56f7a859df Refactor code to remove entity flag for export 2017-10-15 16:16:16 +01:00
gingerBill
e5e14b9947 Remove name mangling for foreign export variables 2017-10-15 16:11:34 +01:00
gingerBill
3d8bf36a30 foreign export block
```
foreign export {
    my_i32: i32;
    my_foo :: proc() -> i32 {
        return 123;
    }
}
```
2017-10-15 16:05:42 +01:00
Ginger Bill
c1e720a49b match to switch; Optional semicolons after "import" statements 2017-10-01 17:09:57 +01:00
Ginger Bill
5259de5872 Reserve the link_name main 2017-09-30 11:28:17 +01:00
Ginger Bill
7791c343c4 Allow for multiple library collections; Store AstFile as pointer 2017-09-10 13:26:14 +01:00
Ginger Bill
6c73f9d3fd Global variable dependency initialization ordering
Fuck graph theory
2017-08-20 18:28:21 +01:00
Ginger Bill
8987a6630c v0.6.0 2017-07-30 22:26:22 +01:00
Ginger Bill
62a72f0163 transmute(type)x; Minor code clean up 2017-07-30 14:52:42 +01:00
Ginger Bill
655931f0ea Minor Simplification of threading demo 2017-07-29 15:18:36 +01:00
Ginger Bill
9a3b4167bb Fix polymorphic element types usage; Empty union as opaque type 2017-07-20 19:40:51 +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
9a8759efef Polymorphic type specialization for procedures 2017-07-17 15:08:36 +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
ba5050ac7c Compiler Internal Changes: TypeRecord_Union -> Type_Union 2017-07-10 22:59:23 +01:00
Ginger Bill
4b051a0d3b .. half closed range; ... open range; ... variadic syntax 2017-07-07 23:42:43 +01:00
Ginger Bill
2db03cb4a5 Fix aprint* bug; NULL -> nullptr; Better error messages for overloaded functions 2017-07-06 22:43:55 +01:00
Ginger Bill
82696179e8 Merge branch 'master' of https://github.com/gingerBill/Odin 2017-07-04 22:42:41 +01:00