Commit Graph

298 Commits

Author SHA1 Message Date
gingerBill
877400dd12 Scope to use flags rathers than booleans 2018-06-17 22:22:30 +01:00
gingerBill
a4e3201113 Minor cleanup for builtin scope/pkg 2018-06-17 22:07:27 +01:00
gingerBill
5fe4c33d0e Allow importation of core:builtin to get built-in entities 2018-06-17 21:46:37 +01:00
gingerBill
4d9d38cc28 Move TypeAndValue to Ast from Map 2018-06-17 16:35:22 +01:00
gingerBill
c2ca24a486 Big renaming: AstNode to Ast 2018-06-17 10:58:59 +01:00
gingerBill
e5aff6fd6d Minimize AstNode size 2018-06-17 10:48:50 +01:00
gingerBill
ba67e474d3 Make source code compile with 32 bit (but not build 32 bit code) 2018-06-15 21:46:03 +01:00
gingerBill
e9e7ce2606 Allow .allocator for dynamic arrays; Add mem.Pool 2018-06-12 19:10:14 +01:00
gingerBill
268491b224 Use global arena for AstNode allocations 2018-06-09 19:53:06 +01:00
gingerBill
49ea9ed722 Entity aliasing clean up 2018-06-09 10:08:17 +01:00
gingerBill
d7108416c9 Remove dead code 2018-06-07 23:52:13 +01:00
gingerBill
b136630856 Fix type info generation for empty structs 2018-06-07 23:24:37 +01:00
gingerBill
b027b1d60f Fix min type info for polymorphic procedures and named types 2018-06-03 21:09:08 +01:00
gingerBill
c39332c7e7 Revert name mangling 2018-06-03 19:18:47 +01:00
gingerBill
3f4b6b22dc Change our IR name mangling rules 2018-06-03 17:55:13 +01:00
gingerBill
e46662a546 Rename os.default_allocator to os.heap_allocator 2018-06-03 16:40:58 +01:00
gingerBill
d556fa2cd8 Remove special shared scope for runtime stuff 2018-06-03 15:06:40 +01:00
gingerBill
398109ac84 Remove need for __llvm_core 2018-06-03 10:51:43 +01:00
gingerBill
12b870ba66 Use const & for Array<AstNode *> parameters 2018-06-03 10:30:31 +01:00
gingerBill
619783ca1b Remove clutter parameters and begin parallelizing the type checker 2018-05-28 18:46:39 +01:00
gingerBill
642aa0bc4b Refactor: use CheckerContext rather than Checker in type checking part 2018-05-28 15:57:53 +01:00
gingerBill
b7858a66b9 Parallelize per file rather than per package 2018-05-28 12:06:50 +01:00
gingerBill
547a2831c7 Clean up name mangling by using unique package names per project 2018-05-27 22:09:11 +01:00
gingerBill
5c52ffe24e Reorganize runtime package 2018-05-27 21:22:25 +01:00
gingerBill
6aae381e83 Move ODIN_* platform constants to core:os 2018-05-27 11:03:46 +01:00
gingerBill
7ee9051a56 IR now builds with the new package system 2018-05-27 10:49:14 +01:00
gingerBill
4d052d5119 Remove code relating to default struct values 2018-05-20 17:31:46 +01:00
gingerBill
780b81a59f Allow for NO_DEFAULT_STRUCT_VALUES
(will decide later if I want them or not)
2018-05-13 21:09:49 +01:00
gingerBill
e597a8d72e Fix issues with exact integer bounds and remove dead code 2018-05-13 17:38:35 +01:00
gingerBill
61906613b0 Add typeid to Type_Info struct 2018-05-13 10:09:21 +01:00
gingerBill
3b48fa8e7d Fix default initialized values for globals (#217) 2018-05-12 21:22:39 +01:00
gingerBill
324b7d65e7 Use __type_info_of internally 2018-05-12 20:17:12 +01:00
gingerBill
373a60b9ef type_info_of allows typeid; typeid_of allows ^Type_Info; Otherwise only allow type 2018-05-12 19:54:16 +01:00
gingerBill
2ef22e86e0 Make any use typeid rather than ^Type_Info 2018-05-12 18:40:49 +01:00
gingerBill
830f4f540f typeid 2018-05-12 17:39:04 +01:00
gingerBill
56ff5496bc Minimal Type Info Dependency handling 2018-05-12 16:53:44 +01:00
gingerBill
18a9fa7355 Improve minimal dependency system 2018-05-12 10:27:55 +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
6db95b554f __args__: []cstring 2018-03-04 11:25:23 +00:00
gingerBill
105de7705a Add unselector_expr 2018-03-04 11:06:59 +00:00
gingerBill
41b6d215bb Fix using determination order 2018-03-03 20:07:12 +00:00
gingerBill
63ab8b2418 Make irGen.output_base use full path rather than relative 2018-03-03 10:23:27 +00:00
gingerBill
40542e6e26 Fix comparison against nil for cstring 2018-02-28 12:01:26 +00:00
gingerBill
d3ea334e7a cstring 2018-02-28 11:20:11 +00:00
gingerBill
69062ba3ab More code tidying with Array 2018-02-25 20:24:38 +00:00
gingerBill
d63885a495 array_make 2018-02-25 19:23:52 +00:00
gingerBill
f28a34fa99 Use Array<irValue *> in ir.cpp 2018-02-25 15:31:00 +00:00
gingerBill
a1e8de4e00 Fix ir_emit_slice_bounds_check 2018-02-25 15:11:20 +00:00
gingerBill
60a7c68aa6 Minor code reorganization 2018-02-25 14:23:45 +00:00