Commit Graph

53 Commits

Author SHA1 Message Date
Ginger Bill
b705fa7f22 Change from gbArray(T) to Array<T> 2016-10-08 20:37:31 +01:00
Ginger Bill
c5d20d2eef Demaybe operator ? 2016-10-07 09:41:38 +01:00
Ginger Bill
f40482aa29 Maybe types; value, ok := maybe_value(x) 2016-10-06 23:30:22 +01:00
Ginger Bill
50301557b2 Untyped nil 2016-10-06 17:11:17 +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
5f6b0942f4 Update Standard Library; Fix Type_Info for integers 2016-09-28 00:07:03 +01:00
Ginger Bill
6088cbeddb Fix: double declaration in SSA 2016-09-27 19:47:27 +01:00
Ginger Bill
b593332942 Minimal Dependency Map: Only build what is needed 2016-09-27 15:28:44 +01:00
Ginger Bill
ff229054a1 Any order declarations at procedure scope (except variables) 2016-09-24 10:23:46 +01:00
Ginger Bill
a31bab5aae Unicode file loading; push_allocator & push_context 2016-09-23 14:59:58 +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
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
bbc9739f5c Core library and Better name mangling for files 2016-09-19 11:51:21 +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
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
79f575ae8e #import "" as namespace 2016-09-14 19:35:13 +01:00
Ginger Bill
bb109b47d6 Basic module system (only file namespacing) 2016-09-14 14:16:01 +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
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
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
7ba13a18a3 Basic variadic print procedure 2016-09-07 19:23:00 +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
455820fc84 Speed up SSA generation and clang compilation 2016-09-05 18:42:42 +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
11205f968a Typesafe variadic procedures 2016-09-03 12:41:03 +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
0eaf7bd830 Begin "Everything's a namespace" 2016-08-30 00:04:14 +01:00
gingerBill
680274b6f1 Implicit Context and #thread_local 2016-08-19 23:35:09 +01:00
gingerBill
2d49a61563 defer statements 2016-08-16 18:53:02 +01:00
gingerBill
6f7f82d877 Merge branch 'master' of http://git.handmadedev.org/gingerbill/Odin
# Conflicts:
#	examples/main.ll
#	examples/main.odin
#	examples/win32.odin
#	src/codegen/print_llvm.cpp
2016-08-16 11:43:21 +01:00
gingerBill
0dd17fe843 Win32 Window Test 2016-08-16 10:56:44 +01:00
gingerBill
50fd9548b9 Win32 test 2016-08-15 21:22:44 +01:00
gingerBill
3ed75b22a3 string comparisons 2016-08-15 13:46:01 +01:00
gingerBill
0f48a7d299 #foreign "custom_name"; <N x i1> bugs (see test.ll and test2.ll) 2016-08-14 22:19:39 +01:00
gingerBill
ee00236412 expr as type; {N}bool is still causing problems 2016-08-14 12:22:31 +01:00
gingerBill
c10b46af9f Compound Literals - struct, array, slice, vector 2016-08-12 17:21:34 +01:00
gingerBill
19cc77dad3 Code generation for procedure literals 2016-08-11 21:53:44 +01:00
gingerBill
4c467b118d copy(...) 2016-08-10 20:07:24 +01:00
gingerBill
153c27c755 Tuple support in codegen 2016-08-10 11:53:17 +01:00
gingerBill
ba238c569a Strings galore! 2016-08-05 21:07:25 +01:00
gingerBill
4a303b5c3e Minor refactor and basic library 2016-08-05 15:17:23 +01:00
gingerBill
2aaef48c5c String support 2016-08-05 00:54:05 +01:00
gingerBill
0e92166d44 Slice creation for SliceExpr 2016-08-03 14:17:13 +01:00