Commit Graph

500 Commits

Author SHA1 Message Date
gingerBill
51e50d3e31 Add intrinsics.type_proc_parameter_type; Add intrinsics.type_proc_return_type 2020-07-01 22:35:38 +01:00
gingerBill
2b27300387 Fix LLVM code gen bug 2020-06-22 16:57:21 +01:00
gingerBill
01d12770fa Fix compound literals for constant procedure fields 2020-06-11 16:11:54 +01:00
gingerBill
57b09b2ffb Fix #439 2020-06-10 15:37:50 +01:00
gingerBill
e86fde3cb1 Fix #648 2020-06-10 15:09:04 +01:00
gingerBill
9b1cc6e94f Update logic for slice literals, backing array to be on the stack if possible (LLVM C API) 2020-06-08 12:41:42 +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
8057af9e09 Fix #659 Compiler error when indexing constant slices 2020-05-31 12:20:47 +01:00
gingerBill
cbfbff7240 Add intrinsics.type_is_comparable; Add sort.linear_search 2020-05-23 14:02:21 +01:00
gingerBill
aa029fe8d9 Add "pure" procedure types 2020-05-23 13:38:06 +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
86b613fb15 Remove the need for type_of, size_of, align_of, offset_of to be keywords 2020-05-22 12:32:29 +01:00
gingerBill
e1bdaa981a Relative pointer and relative slices 2020-05-15 18:45:24 +01:00
gingerBill
ff92eb9112 Relative pointers 2020-05-15 17:37:00 +01:00
gingerBill
e0a242e9a1 Enforce explicit context definition for procedure calls 2020-05-14 13:44:28 +01:00
gingerBill
cd4403be0c Fix Assertion failure in ir_print_exact_value #620 2020-05-14 00:34:27 +01:00
gingerBill
f661d34049 Implement Explicit context creation #639 2020-05-14 00:13:26 +01:00
gingerBill
af1d4d6e72 Implement Allow .? operator to unwrap any union #549 2020-05-14 00:00:10 +01:00
gingerBill
c2bfb221f5 Fix #561 where statements that eval to false do not show incorrect usage location 2020-05-13 23:45:55 +01:00
gingerBill
7c42d4ba75 (#594) Add #config to replace #defined; Restrict #defined within procedure bodies to remove race condition 2020-05-13 23:29:06 +01:00
gingerBill
6861ff47bc Replace entity_of_ident with entity_of_node 2020-05-12 16:28:22 +01:00
gingerBill
e27f5796d6 Add experimental atom op tables for llvm-backend 2020-05-02 18:45:57 +01:00
gingerBill
4236e870d7 Fix type assertion bug #619 2020-04-21 23:26:02 +01:00
gingerBill
8ee67e41f4 Fix #optional_ok; Fix container.Array 2020-04-19 23:08:50 +01:00
gingerBill
97f7a558fa #optional_ok tag for procedures 2020-04-19 21:45:04 +01:00
gingerBill
4438b3e7af Fix LLVM API backend for procedure "constant" values 2020-04-17 13:50:28 +01:00
gingerBill
f229084baa Basic polymorphic named procedure parameters for procedures and records 2020-04-13 15:48:56 +01:00
gingerBill
f09b6a4c90 Simplify compiler's Map and create a StringMap specifically for strings 2020-04-13 13:02:30 +01:00
gingerBill
90593fe6ae Endian specific floating point types (e.g. f32be) 2020-04-11 21:34:55 +01:00
gingerBill
4be385d648 Add more helpers to package reflect 2020-03-27 13:30:22 +00:00
gingerBill
dd69fcba07 Merge branch 'master' into llvm-integration 2020-03-26 15:56:55 +00:00
gingerBill
7909872877 Allow referencing a compound literal to act like C99 2020-03-26 15:56:08 +00:00
gingerBill
6bfe9b6656 Merge branch 'master' into llvm-integration 2020-03-24 15:48:57 +00:00
gingerBill
da703edbf4 Allow map indices to be referenced &m[key] and return a valid pointer if it exists otherwise nil 2020-03-24 15:48:31 +00:00
gingerBill
fc0002ab67 Fix enum type info generation 2020-03-19 12:28:39 +00:00
gingerBill
db7a3ffd2a Merge branch 'master' into llvm-integration 2020-03-05 21:12:16 +00:00
gingerBill
e92fdb4a99 x if cond else y and x when cond else y expressions 2020-03-05 20:34:30 +00:00
gingerBill
8ec5987ae1 Merge branch 'master' into llvm-integration 2020-02-29 09:55:25 +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
1596bca92d Add intrinsics.cpu_relax 2020-02-26 22:29:12 +00:00
gingerBill
e197af766d Merge branch 'master' into llvm-integration 2020-02-23 10:39:57 +00:00
gingerBill
5073fcd39e Improve error message on using with procedure parameters #568 2020-02-23 10:37:27 +00:00
gingerBill
8a67775149 Fix #571 2020-02-23 10:20:12 +00:00
gingerBill
85e331d5e2 Fix #566 2020-02-23 10:13:42 +00:00
gingerBill
35711a400c Anonymous procedure literal support 2020-02-08 12:49:38 +00:00
gingerBill
0f399a7294 Add union #maybe 2020-02-01 11:10:28 +00:00
gingerBill
cd43f4c94c Add suggestions for indexing constant values with a variable index 2020-01-18 12:09:26 +00:00
gingerBill
c3a8e232a5 Add new intrinsics for polymorphic records:
type_is_specialized_polymorphic_record, type_is_unspecialized_polymorphic_record, type_polymorphic_record_parameter_count, type_polymorphic_record_parameter_value
2020-01-18 11:27:41 +00:00
gingerBill
7f89f6b582 Add intrinsics.type_is_specialization_of 2020-01-17 23:30:38 +00:00