Commit Graph

82 Commits

Author SHA1 Message Date
Ginger Bill 17ab23f1f0 Const Aggregate Literals for IR; Module path fix 2016-09-30 23:34:32 +01:00
Ginger Bill c6aac264fa Begin work on const llvm aggregate literals 2016-09-30 20:38:46 +01:00
Ginger Bill 04b5d8c132 using on indexable field; Auto deref for (Index|Slice)Expr 2016-09-29 00:42:26 +01:00
Ginger Bill 6e39a42c8a Demo 004 2016-09-28 21:25:14 +01:00
Ginger Bill 5f6b0942f4 Update Standard Library; Fix Type_Info for integers 2016-09-28 00:07:03 +01:00
Ginger Bill b593332942 Minimal Dependency Map: Only build what is needed 2016-09-27 15:28:44 +01:00
Ginger Bill 349badcf17 Nested procedures are declared inline but bodies checked later 2016-09-24 23:48:03 +01:00
Ginger Bill 70f3361a34 Bug Fixes: some assertions; variable inits;
Remove some dead code
2016-09-24 22:55:17 +01:00
Ginger Bill a31bab5aae Unicode file loading; push_allocator & push_context 2016-09-23 14:59:58 +01:00
Ginger Bill ee0aa7b9de Fix assert; exporting rules 2016-09-22 23:18:29 +01:00
Ginger Bill 6907951f1e Fix type info generation
The problem: entry's index != entry->value in info_type_map
But I was assuming this
2016-09-22 13:34:14 +01:00
Ginger Bill 0e2347e582 Filename as default import name; as .; as _; panic() 2016-09-21 14:46:56 +01:00
Ginger Bill 31c11a5037 Sort enum entities; Remove sprint* from fmt.odin 2016-09-20 09:33:29 +01:00
Ginger Bill 59b0cf61ef fmt improvement; Minor refactoring 2016-09-19 23:59:26 +01:00
Ginger Bill 3b266b194f enum_to_string fix; enum count, min_value, max_value 2016-09-19 22:26:07 +01:00
Ginger Bill 9561dc33ce enum_to_string 2016-09-19 21:33:52 +01:00
Ginger Bill 67694c0df0 VarDecl and ConstDecl split; error, warning, et al. now global 2016-09-17 11:40:00 +01:00
Ginger Bill eb424bb315 #import and #load
#import - imported entities will not get exported
#load   - loaded entities will get exported
2016-09-16 19:46:48 +01:00
Ginger Bill 968de5aae8 Call expression, either handle all or ignore all results. 2016-09-16 11:38:20 +01:00
Ginger Bill bd365e5176 Fix namespacing issues for #import; allow using ImportName 2016-09-14 22:58:24 +01:00
Ginger Bill 79f575ae8e #import "" as namespace 2016-09-14 19:35:13 +01:00
Ginger Bill 1147e17c13 Fix addressing modes for selectors 2016-09-13 23:09:46 +01:00
Ginger Bill 817ae643c5 Remove len(), cap() and replace with selectors; fix defer in match 2016-09-13 14:04:05 +01:00
Ginger Bill 59fb74d2a2 Fix array bounds checking 2016-09-12 23:16:06 +01:00
Ginger Bill d4ba6b5466 Slice and substring bounds checking 2016-09-12 15:10:15 +01:00
Ginger Bill 9ff4a8b5ab Switchable array bounds checking 2016-09-12 14:41:36 +01:00
Ginger Bill 687e78d5dd Some global init cleanup; volatile types 2016-09-12 12:05:38 +01:00
Ginger Bill 7509cdceb8 Default struct member reordering for minimal size
Rule: largest members to smallest; if same size, order in source order
2016-09-10 11:24:50 +01:00
Ginger Bill 6979678ff9 Begin reording of struct members by default. 2016-09-09 23:33:54 +01:00
Ginger Bill 1ca752ce04 Remove duplicates in type info data. 2016-09-09 19:48:28 +01:00
Ginger Bill 56dd12c54c Fix match statements for the new AstNodeArray type 2016-09-08 18:28:18 +01:00
Ginger Bill c6d02e4778 Fix missing type_info with manual linear search 2016-09-08 00:23:14 +01:00
Ginger Bill 3d02f8a5fd Slice variadic expansion .. 2016-09-07 22:42:38 +01:00
Ginger Bill 50aeea1c2e Remove AstNode linked lists and replace with arrays 2016-09-07 21:59:03 +01:00
Ginger Bill 7ba13a18a3 Basic variadic print procedure 2016-09-07 19:23:00 +01:00
Ginger Bill 2c4193a242 any type 2016-09-07 15:15:10 +01:00
Ginger Bill 61fcfd6f3d Begin Type_Info
Missing stuff in records, procedures, and tuples
2016-09-07 14:03:17 +01:00
Ginger Bill ae72b3c5bd Tagged unions memory layout change; begin demo 002 2016-09-04 22:50:17 +01:00
Ginger Bill c2e3c3801a Type match statement for tagged unions 2016-09-04 16:16:17 +01:00
Ginger Bill cdd8eadda1 Fix type system in SSA generation
Removes a lot of dodgy things
Still needs to be tested a lot and better refactored
2016-09-03 22:07:16 +01:00
Ginger Bill 7f884ed251 Start implementing Tagged Unions 2016-09-03 18:18:45 +01:00
Ginger Bill 11205f968a Typesafe variadic procedures 2016-09-03 12:41:03 +01:00
Ginger Bill e1a6775661 Runtime assert 2016-09-02 15:51:48 +01:00
Ginger Bill 25e9b9bc87 min, max, abs 2016-09-02 14:14:12 +01:00
Ginger Bill fa09d805e2 Match statements; Type System change (Type_Record for all sum and product types) 2016-09-01 20:38:44 +01:00
Ginger Bill ff6e21cb87 Fix subtype polymorphism 2016-08-31 18:29:51 +01:00
Ginger Bill 5399463d9d down_cast 2016-08-31 00:52:19 +01:00
Ginger Bill cda0234d48 Subtyping Polymorphic arguments; using procedure parameters 2016-08-30 23:32:04 +01:00
Ginger Bill a06f70d5d9 Better using; foreign system libraries; optional semicolons 2016-08-30 18:39:29 +01:00
Ginger Bill 0eaf7bd830 Begin "Everything's a namespace" 2016-08-30 00:04:14 +01:00