Commit Graph

83 Commits

Author SHA1 Message Date
Ginger Bill
2db03cb4a5 Fix aprint* bug; NULL -> nullptr; Better error messages for overloaded functions 2017-07-06 22:43:55 +01:00
Ginger Bill
69f7382eec Implicit parametric polymorphic procedures 2017-06-29 20:56:18 +01:00
Ginger Bill
7e3293fc20 Fix odin version printing 2017-06-29 16:08:30 +01:00
Ginger Bill
c4081393c1 Fix typo for some built-in procedures 2017-06-25 17:36:10 +01:00
Ginger Bill
1d81b73df9 Basic command line flags: e.g. -opt=0 2017-06-24 22:58:50 +01:00
Ginger Bill
bba088bee7 Use UTF-8 command line on windows 2017-06-24 11:42:49 +01:00
Ginger Bill
5427d14416 Code will compile as 32 bit but will causes errors in the linker on Windows 2017-06-19 15:55:09 +01:00
Ginger Bill
126f7aa892 Begin work on documentation generation 2017-06-18 23:16:57 +01:00
Ginger Bill
4236519b84 #location(..) and #call_location 2017-06-18 14:36:06 +01:00
Ginger Bill
2a89d8021c Use templated Array with bounds checking 2017-06-08 12:54:52 +01:00
Ginger Bill
13deb4706c Update String to use overloading 2017-06-08 12:37:07 +01:00
Ginger Bill
9b61adb97d Build as C++ 2017-06-08 12:03:40 +01:00
Ginger Bill
4d30ef7eda Change extensions .cpp to .c 2016-11-23 12:29:50 +00:00
Ginger Bill
aa2bcb166f typedef struct and start removing auto 2016-11-23 11:07:35 +00:00
Ginger Bill
8ecfca0c9b Remove templated Map; replace with #include macro "templates" trick 2016-11-23 10:36:48 +00:00
Ginger Bill
cb7b9a413d Remove Array<T> and replace with macro version 2016-11-22 21:29:57 +00:00
Ginger Bill
3517f96668 Remove: string overloads; defer 2016-11-22 20:29:46 +00:00
Ginger Bill
36ad9dae43 128 bit integers
Kind of works but may be buggy due to LLVM not actually sure
2016-11-22 00:13:52 +00:00
Ginger Bill
0cab083b8f #foreign_library; vector fields (x, y, z, w) for count <= 4 2016-11-15 12:06:58 +00:00
Ginger Bill
3ce044f84f Add general timings for sections of the compiler 2016-11-14 21:37:37 +00:00
Ginger Bill
7ba0f25943 Separate SSA opt; Basic Timings for sections only 2016-11-06 21:22:05 +00:00
Ginger Bill
6c2772d093 Scrap Virtual Machine and begin again
I just didn't like the style of it.
2016-11-03 16:26:22 +00:00
Ginger Bill
8534e064b9 File restructure (again) 2016-11-02 13:44:04 +00:00
Ginger Bill
fa0eb88b7b Interpreter - bounds checking 2016-10-31 00:10:31 +00:00
Ginger Bill
ca311c4a59 Begin work on the Interpreter 2016-10-30 17:49:30 +00:00
Ginger Bill
3ec67853e1 Minor Entity refactor 2016-10-30 13:20:45 +00:00
Ginger Bill
aed7a83f5b Code reorganization - Separate files and slice refactoring 2016-10-26 15:05:41 +01:00
Ginger Bill
bd5d095de4 Separate ssa_struct_gep and ssa_array_gep procedures 2016-10-23 14:46:52 +01:00
Ginger Bill
f60dc7b0a7 Minor Style Fixes 2016-10-22 19:41:58 +01:00
Ginger Bill
a675d3f94d union_cast 2016-10-16 21:31:06 +01:00
Ginger Bill
f5318c46d1 Implicit Values: context; Fix lvalue selector assignments; Fix offset_of* for using fields. 2016-10-10 10:27:50 +01:00
Ginger Bill
90babbfbf3 Very Basic Profiling 2016-10-09 20:14:32 +01:00
Ginger Bill
2e0b260d3a SSA - Basic block optimizations 2016-10-09 11:46:14 +01:00
Ginger Bill
b705fa7f22 Change from gbArray(T) to Array<T> 2016-10-08 20:37:31 +01:00
Ginger Bill
f6589d9814 Refactor: Remove dead code 2016-10-02 21:45:24 +01:00
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
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
006741908b Remove #define DISPLAY_TIMING 2016-09-27 15:30:10 +01:00
Ginger Bill
b593332942 Minimal Dependency Map: Only build what is needed 2016-09-27 15:28:44 +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
fa7d7938e1 Fix push_* with better defer system 2016-09-23 19:45:45 +01:00
Ginger Bill
a31bab5aae Unicode file loading; push_allocator & push_context 2016-09-23 14:59:58 +01:00
Ginger Bill
664c2cd7a5 Fix enum type comparison; Start demo 003 code 2016-09-21 23:26:31 +01:00
Ginger Bill
33bd3f635f Remove the need for clang
Replaced by: opt -> llc -> link
2016-09-21 18:31:01 +01:00
Ginger Bill
0e2347e582 Filename as default import name; as .; as _; panic() 2016-09-21 14:46:56 +01:00
Ginger Bill
9561dc33ce enum_to_string 2016-09-19 21:33:52 +01:00
Ginger Bill
828095afd1 Better name mangler for SSA generation
TODO: Define better name mangling rules and allow for explicit name overload
2016-09-18 21:44:22 +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