Commit Graph

81 Commits

Author SHA1 Message Date
gingerBill
6b3c4cc379 Remove u128 and i128 2018-01-13 22:26:37 +00:00
gingerBill
860a5c3e86 "Fix" LLVM boolean bug (more like a bodge) 2017-12-22 18:14:35 +00:00
gingerBill
ac277a1cce Revert map to be a value type and not a reference type
(Implement code for "const ref" parameters)
2017-12-21 20:59:23 +00:00
gingerBill
a69ea58388 map is internally backed by a pointer (i.e. a "reference type") 2017-12-17 19:25:35 +00:00
gingerBill
30530d058c Remove struct #ordered 2017-12-17 14:53:40 +00:00
gingerBill
f7e9649be4 Disable struct field reordering (for the time being) 2017-12-12 18:21:40 +00:00
gingerBill
97760c3fa4 Fix union_tag_size; Fix constant array of array literal printing with scalar contents 2017-12-03 20:49:19 +00:00
gingerBill
1a75dfe075 Remove vector type (will be replaced by something else in the future) 2017-11-30 20:34:42 +00:00
gingerBill
cfabc0e61f Remove using in arrays; Remove _ non-exported struct fields
Start determining slow parts of the compiler
2017-11-28 22:12:33 +00:00
gingerBill
74fa7ca25d New slice memory layout (ptr+len); byte 2017-11-26 18:36:46 +00:00
gingerBill
0c06a8d154 Fix issue #146 regarding polymorphic type parameters 2017-11-18 20:56:53 +00:00
gingerBill
5ce6555721 Allow for default arguments after a variadic parameter 2017-11-12 17:55:16 +00:00
gingerBill
b1d1497f4b Fix array of array arithmetic 2017-11-07 23:02:53 +00:00
gingerBill
9df3a94d33 Fix cyclic type checking bug 2017-11-05 23:38:09 +00:00
gingerBill
66ee2cb6ed #const value procedure parameters; $N for polymorphic array lengths 2017-11-05 18:26:24 +00:00
gingerBill
1d4881cbbe Add array programming 2017-11-05 14:22:18 +00:00
gingerBill
414486829a Add string_set.cpp; Code clean up 2017-10-30 20:26:05 +00:00
gingerBill
1eb9994d88 Attributes; @(link_name="foo") 2017-10-29 15:46:23 +00:00
Ginger Bill
26d3c54aff Fix issue #119
This may need better error messages
2017-10-12 20:52:19 +01:00
Ginger Bill
8e4233b86a Correct union size 2017-10-08 15:19:01 +01:00
Ginger Bill
6424966b7a Union tag stored as an integer 2017-10-08 15:16:13 +01:00
Ginger Bill
56a98a483f Better error messages for import cycles 2017-10-08 10:58:16 +01:00
Ginger Bill
afb5538e83 Default procedure values for proc 2017-10-01 20:27:02 +01:00
Ginger Bill
8f39ebbe5a Procedure literals for default values in structs 2017-10-01 20:01:00 +01:00
Ginger Bill
8c7cf0dbb0 Fix union array bug (Issue #112) 2017-09-29 21:35:59 +01:00
Ginger Bill
4262c125c5 Fix struct #packed alignment calculation 2017-08-12 20:04:35 +01:00
Ginger Bill
0fae31fb54 Extra type safety; Fix typos 2017-07-31 11:36:00 +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
Ginger Bill
fbd27d7c45 Fix map internal type generation 2017-07-29 13:56:45 +01:00
Ginger Bill
3546391311 Merge branch 'master' of https://github.com/gingerBill/Odin 2017-07-29 13:01:28 +01:00
Ginger Bill
24c812115e Remove empty union check on array types; Fix overflowing error printing 2017-07-29 13:01:17 +01:00
gingerBill
28be0ad69b Fix IR print bug for empty structs; 2017-07-28 11:35:01 +01:00
Ginger Bill
1df4aa90ce Fix struct parameter bugs 2017-07-21 15:25:58 +01:00
Ginger Bill
dbddec33c8 Internal changes; thread.odin for windows only 2017-07-20 23:57:56 +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
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
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
d16aa79492 General specialization for polymorphic parameters 2017-07-18 18:05:41 +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