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
|
ff229054a1
|
Any order declarations at procedure scope (except variables)
|
2016-09-24 10:23:46 +01:00 |
|
Ginger Bill
|
db6abb9706
|
Fix returns of tuple
|
2016-09-23 20:40:42 +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
|
ee0aa7b9de
|
Fix assert; exporting rules
|
2016-09-22 23:18:29 +01:00 |
|
Ginger Bill
|
2e506b7e6e
|
Demo 003
|
2016-09-22 21:32:25 +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
|
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
|
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
|
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
|
2d6171f3e5
|
#import search rule: relative then core/
|
2016-09-17 22:42:09 +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
|
807256dea4
|
ssa - alloca all variables at the very start
|
2016-09-15 18:58:29 +01:00 |
|
Ginger Bill
|
b6cb4f4d14
|
#file #line directives
|
2016-09-15 00:53:00 +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
|
bb109b47d6
|
Basic module system (only file namespacing)
|
2016-09-14 14:16:01 +01:00 |
|
Ginger Bill
|
a60e6bedd9
|
Begin work on modules - No codegen!!!
|
2016-09-14 12:00:04 +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
|
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
|
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 |
|