gingerBill
a55568b0c4
Make hash internal key be uintptr rather than u64 to reduce entry size
2020-11-23 19:14:36 +00:00
gingerBill
91758656f6
Change internal layout of map[K]V
2020-11-23 18:25:01 +00:00
gingerBill
4762d2f2d1
map type internal reorganization
2020-11-23 16:56:31 +00:00
gingerBill
4e370e6ed8
Add equal procedure field to runtime.Type_Info_Struct
2020-11-23 15:53:49 +00:00
gingerBill
0b30c3dc5a
Add flags: Type_Info_Flags, to runtime.Type_Info
2020-11-23 14:35:31 +00:00
gingerBill
9e42cb1595
Add comparisons to structs where all fields are comparable == and !=
2020-11-23 12:20:04 +00:00
gingerBill
63e4a2341f
Support string literals for fixed arrays of runes; Add %q support for arrays/slices of bytes
2020-11-20 16:24:23 +00:00
gingerBill
6416a6f39c
Allow string literals for [N]byte
2020-11-20 16:01:59 +00:00
gingerBill
2bd0fd932a
Begin rudimentary work on implementing odin test tooling with *_test.odin files
2020-11-17 18:50:30 +00:00
gingerBill
ca4b0527e8
Minimize memory usage for AST nodes by using Slice<T> rather than Array<T> when the parameter doesn't need to grow
2020-11-16 15:18:25 +00:00
gingerBill
17ec3e72a6
Add SCOPED_TEMPORARY_BLOCK for temporary allocations within a block
2020-11-15 18:45:40 +00:00
gingerBill
30d922b059
Make set_procedure_abi_types use the permanent_allocator
2020-11-15 18:11:49 +00:00
F0x1fy
0eba4b46b5
Made sure the entry point is not generated when -no-entry-point is specified.
2020-11-10 10:16:22 -07:00
gingerBill
08fae7360a
Fix ir printing for nested procedure literals indirectly through identifiers
2020-10-29 09:58:08 +00:00
gingerBill
feeb342c00
Improve multiple return value copy-elision
2020-10-20 17:08:55 +01:00
gingerBill
c4dbc88a12
Improve array programming code generation
2020-10-20 15:38:41 +01:00
gingerBill
dd4c02a1b9
Fix multiple declared foreign procedures
2020-10-01 12:02:07 +01:00
gingerBill
609af3a651
Fix and clean up default procedure parameter code for non-constant types
2020-09-22 12:06:05 +01:00
gingerBill
f530c80216
Fix -debug bug with internal startup procedures
2020-09-16 15:16:29 +01:00
gingerBill
ebad8e8990
Change how ir.cpp calls the startup type info procedure
2020-09-15 19:40:37 +01:00
gingerBill
0cd681e6b7
Expose runtime._startup_runtime to allow for freestanding targets in the future
2020-09-15 10:51:51 +01:00
gingerBill
7f48cf8405
[REFLECTION BREAKING] Modify the internals of the map type to increase performance
2020-09-07 11:41:42 +01:00
gingerBill
c783840eab
Fix #642
2020-08-26 23:20:25 +01:00
gingerBill
fa903fb4df
Fix #674
2020-08-06 00:09:36 +01:00
gingerBill
5164d1d866
Fix named results but in ir.cpp
2020-08-05 23:43:23 +01:00
gingerBill
9f24188ec8
Fix #708
2020-08-05 22:51:24 +01:00
gingerBill
d1d5f61230
Add intrinsics.alloca
2020-08-02 14:59:39 +01:00
gingerBill
13e5cb8cc4
Fix #691 and Fix #692
2020-07-14 23:50:09 +01:00
gingerBill
c18fc2da9f
Remove some dead code
2020-07-14 16:36:33 +01:00
gingerBill
9da1347c21
Fix Source_Code_Location error for *_insert_dynamic_map_key_and_value procedures
2020-07-08 22:57:39 +01:00
gingerBill
a8c10c58b4
Fix negation of complex and quaternion numbers for ir.cpp backend
2020-07-08 22:35:47 +01:00
gingerBill
1b2cc739a9
Handle llvm package name edge case for IR mangling
2020-06-30 19:12:53 +01:00
gingerBill
a6edcf4f18
Fix ABI typo bug; Add pop_safe and pop_front_safe
2020-06-22 21:03:57 +01:00
gingerBill
910ab7b3d4
Fix typo
2020-06-22 17:00:35 +01:00
gingerBill
2b27300387
Fix LLVM code gen bug
2020-06-22 16:57:21 +01:00
gingerBill
724c776dbe
Fix enumerated array type information creation bug
2020-06-17 23:28:39 +01:00
gingerBill
781395ada1
Add deferred_in_out attribute
2020-06-16 16:21:44 +01:00
gingerBill
01d12770fa
Fix compound literals for constant procedure fields
2020-06-11 16:11:54 +01:00
gingerBill
e641d714a0
Fix #677
2020-06-10 16:32:53 +01:00
gingerBill
57b09b2ffb
Fix #439
2020-06-10 15:37:50 +01:00
gingerBill
99944f3b02
Improve behaviour of return with named results to aid with defer statements
2020-06-10 14:53:35 +01:00
gingerBill
59a0bbb385
Improve termination rules checking for missing return; Make diverging procedure -> ! be terminators
2020-06-06 15:16:24 +01:00
gingerBill
d80049bfd2
Change runtime.Type_Info_Enum_Value to be i64 internally rather than a union
2020-06-03 21:10:07 +01:00
gingerBill
bf5ce04b24
Improve rules for shifting behaviour
...
Example:
x: u64 = 123;
assert(x >> 64 == 0); // In C this would be 123 because (64 & 0b111111) == 0
a: u64 123;
assert(a << 64 == 0); // In C this would be 123 because (64 & 0b111111) == 0
2020-05-31 13:50:17 +01:00
gingerBill
84fd40de77
Fix rules for recursive initialization with procedure entities; Fix executable name if not given
2020-05-30 12:23:41 +01:00
gingerBill
26fe9b0212
Fix SelectorCallExpr with no return values
2020-05-22 23:41:17 +01:00
gingerBill
7bd1039a49
Selector Call Expressions: x->y(123) == x.y(x, 123)
2020-05-22 14:54:30 +01:00
gingerBill
3f23a0b3b0
Fix edge cases of relative pointers
2020-05-17 15:23:27 +01:00
gingerBill
e1bdaa981a
Relative pointer and relative slices
2020-05-15 18:45:24 +01:00
gingerBill
95e8668b77
Relative pointers in old backend
2020-05-15 17:52:09 +01:00