Commit Graph

435 Commits

Author SHA1 Message Date
gingerBill
dfb3101ecf SOA Struct support intrinsics.soa_struct 2019-11-02 21:08:51 +00:00
gingerBill
e3d3a81617 multivalued procedure calls allows in for in to allow a pseudo-iterator; @thread_local for variables in procedure 2019-11-02 16:36:46 +00:00
gingerBill
dbdbbcd60f Fix range in statement bug caused by incorrectly assigned addressing mode #461 2019-11-02 10:57:42 +00:00
gingerBill
3b898e5224 Add @force to foreign import 2019-11-01 19:26:22 +00:00
gingerBill
01dfb1dac8 Fix double calling of lhs of logical binary expressions 2019-10-31 20:17:50 +00:00
gingerBill
ee8d3e03f8 Delay determination of procedure abi types until as late as possible to prevent type undetermination in self-referential data types #454 2019-10-31 18:25:39 +00:00
gingerBill
14e8b299b7 Fix slice and dynamic array lengths determined from ranged compound literals 2019-10-26 14:43:06 +01:00
gingerBill
7fae890ef9 Allow ranges for array-like compound literals 2019-10-26 14:06:29 +01:00
gingerBill
94879ed149 Fix Compiler assertion when applying using to _ procedure parameter. #451 2019-10-26 12:14:04 +01:00
gingerBill
f12ded54f2 Support for named indices for array-like compound literals {3 = a, 1 = b} 2019-10-20 13:11:28 +01:00
gingerBill
03053a18ce Fix IR generation bug for nested foreign procedure declaration 2019-10-13 12:51:47 +01:00
gingerBill
abfa894566 Fix general IR parameter case 2019-10-10 20:52:07 +01:00
gingerBill
5b52fed268 Correct (experimental) System V AMD64 ABI support 2019-10-10 20:41:16 +01:00
gingerBill
6c69e8c043 Make typeid semantics consistent across variables and constants 2019-10-06 14:55:25 +01:00
gingerBill
f4f6e9ad49 Fix -debug crash on windows caused by missing debug info for files. 2019-09-25 21:07:56 +01:00
gingerBill
a9a2dafca5 Merge pull request #430 from nakst/master
New Essence OS layer; cross-compiling improvements
2019-09-09 14:39:35 +01:00
gingerBill
1370c10d1b Fix Converting addresses to function pointers produces llvm-opt error #431 2019-09-02 18:59:07 +01:00
nakst
22e982c8fb New Essence OS layer; cross-compiling improvements 2019-09-02 16:46:50 +01:00
gingerBill
c89fc35e94 Fix global variable initialization ordering
(related to #427)
2019-08-29 14:36:42 +01:00
gingerBill
614d209824 Add debug information for quaternion types (fixes #428) 2019-08-29 10:39:03 +01:00
gingerBill
f1a7b31209 Fix nested raw_union with using #428 2019-08-28 13:34:55 +01:00
gingerBill
01c10aa944 inline for loops (only for 'in' based for loops) 2019-08-26 13:54:35 +01:00
gingerBill
7bc146e6fd Built-in Quaternions (Not just an April Fool's Joke any more) 2019-08-26 11:33:05 +01:00
gingerBill
9c63212824 Struct field tags 2019-08-09 21:59:58 +01:00
gingerBill
65d41d4248 Fix bit_field comparison against nil #414 2019-08-09 20:31:11 +01:00
gingerBill
2c5c8192f8 Fix parsing for procedure literals expression statements; improve assert performance; other minor fixes 2019-07-28 22:58:56 +01:00
gingerBill
77734ea967 Improve the performance of simple array comparisons 2019-07-27 11:59:50 +01:00
gingerBill
912fc2890b Fix array comparisons and fix f32 literal LLVM issue regarding accurate representation 2019-07-27 11:33:22 +01:00
gingerBill
14059583cd Fix array comparisons 2019-07-27 10:44:40 +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
d471a59041 IR fix array comparisons 2019-07-15 21:32:38 +01:00
gingerBill
4ab9edeb53 union #no_nil 2019-07-09 10:28:13 +01:00
gingerBill
d7172e168e Fix target list branch rules for name-labelled block/if statements 2019-07-07 16:06:41 +01:00
gingerBill
d99ffe604f Fix unions with zero variants 2019-07-07 14:38:11 +01:00
gingerBill
3d2279fba0 Support 128-bit integers i128 u128 2019-05-28 20:27:45 +01:00
gingerBill
222941727f Add ..< operator for ranges; Add extra checking for bit set assignments 2019-05-28 12:45:20 +01:00
gingerBill
16f3bc2c0b Allow comparisons with bit field values 2019-05-09 13:18:57 +01:00
gingerBill
71a733e3b5 Allow booleans to be assigned to a 1-bit bit field value 2019-05-09 13:04:15 +01:00
gingerBill
a66612e8ae Remove test code 2019-05-09 11:07:26 +01:00
gingerBill
ab0afa548b Fix ||= and &&= 2019-05-06 11:32:35 +01:00
gingerBill
a46a1f5f34 Minor change to bit_field assignment rules 2019-05-04 13:02:15 +01:00
gingerBill
56c4039e72 #load directive (request from #368) (Basic implementation) 2019-04-20 15:05:35 +01:00
gingerBill
564e85ee29 Modify ir_generate_array name logic slightly 2019-03-31 11:22:27 +01:00
gingerBill
9e6d488063 Modify slice_expr_error_* logic to change depending on which parameters are passed 2019-03-25 21:20:12 +00:00
gingerBill
4a15689776 Remove bounds checks for slice expressions with both indices empty 2019-03-25 21:00:45 +00:00
gingerBill
885c5dc8b7 Fix issue with deferred_* attributes 2019-03-15 16:39:49 +00:00
gingerBill
3d86fc2f2f Minor adjustments 2019-03-15 15:41:06 +00:00
gingerBill
712744ef36 Fix ir_copy_value_to_ptr usage in ir_emit_call #350 2019-03-14 23:41:48 +00:00
gingerBill
ad3b6ab718 Implicit Selector Expressions: .A 2019-03-06 16:19:47 +00:00
Jeroen van Rijn
b6d6eb6ae2 Fix #345: Panic when using enum as map key
Also add a little map demo.
2019-03-02 13:21:01 +01:00