Commit Graph

206 Commits

Author SHA1 Message Date
gingerBill
1a8ea6113a Remove hash field in runtime.Source_Code_Location 2020-12-05 19:52:08 +00:00
gingerBill
047586afc6 Change ExactValue layout for complex/quaternion types to minimize its size 2020-12-03 14:21:33 +00:00
gingerBill
9c1c9693f2 Patch up gb.h 2020-11-24 15:18:20 +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
0d6f5cec37 Implement custom temporary allocator using ring buffer 2020-11-15 19:36:37 +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
gingerBill
c1149dbdee Update math and math/linalg; add "pure_none" calling convention 2020-09-10 15:00:19 +01:00
gingerBill
d1d5f61230 Add intrinsics.alloca 2020-08-02 14:59:39 +01:00
gingerBill
57b09b2ffb Fix #439 2020-06-10 15:37:50 +01:00
gingerBill
aa029fe8d9 Add "pure" procedure types 2020-05-23 13:38:06 +01:00
gingerBill
95e8668b77 Relative pointers in old backend 2020-05-15 17:52:09 +01:00
gingerBill
cd4403be0c Fix Assertion failure in ir_print_exact_value #620 2020-05-14 00:34:27 +01:00
gingerBill
aa620e8ea1 Fix Procedure value printing in ir.cpp 2020-04-17 16:20:50 +01:00
gingerBill
f09b6a4c90 Simplify compiler's Map and create a StringMap specifically for strings 2020-04-13 13:02:30 +01:00
gingerBill
65a2125dba Add -build-mode=obj 2020-04-13 12:00:40 +01:00
gingerBill
90593fe6ae Endian specific floating point types (e.g. f32be) 2020-04-11 21:34:55 +01:00
gingerBill
18fb6a4be4 Merge branch 'master' into llvm-integration 2020-03-15 14:31:26 +00:00
gingerBill
10bac2445b Fix ir_print for byval types 2020-03-13 16:48:10 +00:00
gingerBill
06e364b9bd Apply byval to sret for System V ABI 2020-03-13 08:52:23 +00:00
gingerBill
da283d5a7f Add byval 2020-03-12 22:33:49 +00:00
gingerBill
8ec5987ae1 Merge branch 'master' into llvm-integration 2020-02-29 09:55:25 +00:00
gingerBill
1596bca92d Add intrinsics.cpu_relax 2020-02-26 22:29:12 +00:00
gingerBill
d56807095a Implement constant value generation from ExactValue 2020-02-02 18:33:13 +00:00
gingerBill
0f399a7294 Add union #maybe 2020-02-01 11:10:28 +00:00
gingerBill
ba85e432e7 Fix Proc Type ABI printing on System V 2020-01-12 13:43:45 +00:00
gingerBill
ff31f9a900 Fix @thread_local IR printing 2020-01-11 20:19:52 +00:00
gingerBill
cae1e02593 Add extra in set_procedure_abi_types ir_print.cpp 2020-01-04 12:10:28 +00:00
gingerBill
10f0961184 Enumerated arrays [Enum_Type]Elem_Type 2019-12-27 12:51:02 +00:00
gingerBill
4593730632 Fix Trying to get a pointer to a struct field that does not have a size generates an LLVM error #509 2019-12-22 11:40:30 +00:00
gingerBill
9db81498d8 Make the string type elements "immutable", akin to char const * in C
Allows for extra security and optimization benefits
2019-12-01 14:10:59 +00:00
gingerBill
e01d8a04a9 Fix String causes a crash when used in a polymorphic type #483 2019-11-20 22:07:12 +00:00
gingerBill
0839dccfdc Fix Compiler panic with SIMD Vector debug information #481 2019-11-19 23:24:49 +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
7fae890ef9 Allow ranges for array-like compound literals 2019-10-26 14:06:29 +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
5b52fed268 Correct (experimental) System V AMD64 ABI support 2019-10-10 20:41:16 +01:00
gingerBill
66ae4e5afc Change ODIN_OS string for osx from "osx" to "darwin" to allow for other platforms 2019-10-01 20:38:50 +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
7bc146e6fd Built-in Quaternions (Not just an April Fool's Joke any more) 2019-08-26 11:33:05 +01:00
gingerBill
0076a4df62 Fix compound literal printing for structs with custom alignment requirements 2019-08-13 22:33:05 +01:00
gingerBill
27a3c5449a Fix global variable initialization for certain types. 2019-08-09 22:35:48 +01:00
gingerBill
f163181204 Add extra hints for LLVM for implicit reference parameters 2019-07-29 10:43:07 +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
3d2279fba0 Support 128-bit integers i128 u128 2019-05-28 20:27:45 +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
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
291bf0c143 Fix #raw_union bug caused by typo #349 2019-03-14 23:25:55 +00:00