Commit Graph

66 Commits

Author SHA1 Message Date
gingerBill
da283d5a7f Add byval 2020-03-12 22:33:49 +00:00
gingerBill
3d74c2f6c0 Add proc(#const x: Type) to enforce a constant parameter (but not polymorphic) to a procedure 2020-02-26 22:53:40 +00:00
gingerBill
2252d992d7 Add -disable-assert to disable the code generation of the built-in run-time 'assert' procedure 2019-12-29 21:10:27 +00:00
gingerBill
e229885b2b Remove addressing mode Addressing_Immutable 2019-12-01 19:11:00 +00:00
gingerBill
2c5a84bb78 #soa[]Type (Experimental) 2019-11-21 00:07:21 +00:00
gingerBill
94879ed149 Fix Compiler assertion when applying using to _ procedure parameter. #451 2019-10-26 12:14:04 +01:00
gingerBill
d1cc6534cd Remove the rule that made any declaration prefixed with an underscore private to that package. 2019-08-23 10:32:05 +01:00
gingerBill
f3bffb9810 Improvement to the Odin calling conventions to pass certain things by "implicit reference" (const & in C++) 2019-07-27 10:20:11 +01:00
gingerBill
5697d6df74 -go-to-definitions (OGTD file format) 2019-05-26 15:16:45 +01:00
gingerBill
44b959648c Pass any and union "by pointer" to make the tag a pointer 2019-01-26 20:13:43 +00:00
gingerBill
8fc24fd6f2 Replace deferred with deferred_none, deferred_in, deferred_out 2019-01-13 19:34:08 +00:00
gingerBill
a240a3d146 static variable declarations (Experimental) 2018-12-28 13:31:06 +00:00
gingerBill
95873e66ab deferred procedure attribute 2018-12-14 21:05:02 +00:00
gingerBill
d05837ab6d Labels for block and if statements (break only) 2018-12-08 14:12:52 +00:00
gingerBill
e496b95881 Subset and superset operators for bit_set: < <= > >= 2018-11-25 16:19:17 +00:00
gingerBill
3742d9e7e9 Move atomic intrinsics to the new built-in package intrinsics 2018-10-20 10:44:02 +01:00
gingerBill
b171cc41e6 __atomic_* "intrinsics" using LLVM instructions 2018-10-17 21:16:01 +01:00
gingerBill
220485a2d2 typeid as keyword (ready to implement polymorphic name parameters) 2018-09-02 15:56:36 +01:00
gingerBill
aa542980ce Change memory layout of map to be 3 words smaller 2018-08-30 19:14:10 +01:00
gingerBill
ae2af8315e Allow for default parameters that are non-constant entities, but not any non-constant expression 2018-08-28 20:03:27 +01:00
gingerBill
70586b1cf8 auto_cast prefix for procedure parameters 2018-08-09 17:58:11 +01:00
gingerBill
60711dd355 Refactor default parameter values 2018-08-05 23:57:34 +01:00
gingerBill
a6fe656f21 foreign import x {"foo.lib", "bar.lib"} 2018-07-29 20:56:09 +01:00
gingerBill
c2ca24a486 Big renaming: AstNode to Ast 2018-06-17 10:58:59 +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
9bd7f023b2 Split up init_preload into specific parts 2018-06-03 11:38:02 +01:00
gingerBill
b7858a66b9 Parallelize per file rather than per package 2018-05-28 12:06:50 +01:00
gingerBill
6aae381e83 Move ODIN_* platform constants to core:os 2018-05-27 11:03:46 +01:00
gingerBill
c067b90403 Add basic package support (no IR support yet) 2018-05-26 23:12: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
5bf0f9d630 Fix type cycle bug 2018-03-23 15:23:14 +00:00
gingerBill
9274f29ca9 deprecated attribute for procedure declarations 2018-03-03 11:16:48 +00:00
gingerBill
35ba5771a5 Replace compile_assert with #assert 2018-02-24 19:03:29 +00:00
gingerBill
2e28c9d793 Cache type size/align; Improve speed of ir_print.cpp 2018-01-20 15:12:44 +00:00
gingerBill
419ab6f00c Named return value act as variables; Code reorganization 2018-01-17 19:07:38 +00:00
gingerBill
054e241033 Localize checker data 2017-12-12 20:23:36 +00:00
gingerBill
f7e9649be4 Disable struct field reordering (for the time being) 2017-12-12 18:21:40 +00:00
gingerBill
3c6f90e552 Fix proc groups from import names 2017-12-10 11:35:11 +00:00
gingerBill
3703ca4df4 Explicit procedure group; Remove implicit procedure overloading 2017-12-09 18:11:36 +00:00
gingerBill
596a2c8355 Procedure grouping foo :: proc[foo16, foo32]; 2017-12-03 23:03:40 +00:00
gingerBill
9f52b2c283 Update demo.odin 2017-12-03 22:28:54 +00:00
gingerBill
1a75dfe075 Remove vector type (will be replaced by something else in the future) 2017-11-30 20:34:42 +00:00
gingerBill
66ee2cb6ed #const value procedure parameters; $N for polymorphic array lengths 2017-11-05 18:26:24 +00:00
gingerBill
121f0185d6 Custom thread local models 2017-11-03 23:46:42 +00:00
gingerBill
0b29e42adb link_prefix; thread_local; fix link_name for file-scope variables 2017-11-03 23:11:06 +00:00
gingerBill
a43b89f36e #alias type declarations; core library additions; _global import name for the global scope 2017-10-29 11:35:21 +00:00
gingerBill
56f7a859df Refactor code to remove entity flag for export 2017-10-15 16:16:16 +01:00
gingerBill
3d8bf36a30 foreign export block
```
foreign export {
    my_i32: i32;
    my_foo :: proc() -> i32 {
        return 123;
    }
}
```
2017-10-15 16:05:42 +01:00
Ginger Bill
4e42d7df43 Minor code reorganization 2017-10-08 12:27:03 +01:00