Commit Graph

141 Commits

Author SHA1 Message Date
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
b54b5aabac Fix crash on aliasing compiler-only packages (e.g. intrinsics) with _ at the global scope. 2020-04-04 19:45:54 +01:00
gingerBill
18fb6a4be4 Merge branch 'master' into llvm-integration 2020-03-15 14:31:26 +00:00
gingerBill
2a2d3273ea Add @require for global variables 2020-03-12 14:40:13 +00:00
gingerBill
8dc74a004c Fix nested type declarations name generation, to be internally consistent 2020-03-08 11:46:05 +00:00
gingerBill
5073fcd39e Improve error message on using with procedure parameters #568 2020-02-23 10:37:27 +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
f99f351e01 Add constant literal expressions 2019-12-27 15:49:52 +00:00
gingerBill
880c7f01a8 Fix array lengths with enum value counts. 2019-12-27 13:55:18 +00:00
gingerBill
e229885b2b Remove addressing mode Addressing_Immutable 2019-12-01 19:11:00 +00:00
gingerBill
69afa33fa5 Fix Implicit Selector Expressions do not work at the global/package scope #484 2019-11-20 21:56:37 +00:00
gingerBill
94879ed149 Fix Compiler assertion when applying using to _ procedure parameter. #451 2019-10-26 12:14:04 +01:00
gingerBill
6c69e8c043 Make typeid semantics consistent across variables and constants 2019-10-06 14:55:25 +01:00
gingerBill
68582c5ad1 Add suggestions to errors on casts and assignments. 2019-09-17 19:47:04 +01:00
gingerBill
4afc78efc6 Add where clauses to struct and union 2019-09-08 12:12:41 +01:00
gingerBill
d4914c3546 Fix Ir panic on using append() from within anonymous function #432 2019-09-04 18:06:02 +01:00
gingerBill
b9d3129fb3 where clauses for procedure literals 2019-08-31 20:13:28 +01:00
gingerBill
b311540b16 Make require_results an attribute rather than a suffix tag for procedures 2019-08-31 14:48:56 +01:00
gingerBill
07ced1cf0e Fix variable dependency ordering issues caused by procedure literals 2019-08-31 11:12:41 +01:00
gingerBill
c89fc35e94 Fix global variable initialization ordering
(related to #427)
2019-08-29 14:36:42 +01:00
gingerBill
04036aba9c package reflect; fix substring type bug; fix scoping rules for using on procedure parameter 2019-08-11 23:58:49 +01:00
gingerBill
40f0e74b8c Change scoping rules to allow for shadowing of procedure parameters but not named return values 2019-07-27 00:45:36 +01:00
gingerBill
fd62959bf4 Fix procedure constant declaration value type assignment checking 2019-06-21 23:11:14 +01:00
gingerBill
654740d5b1 Fixes to ABI 2019-05-29 16:49:26 +01:00
gingerBill
222941727f Add ..< operator for ranges; Add extra checking for bit set assignments 2019-05-28 12:45:20 +01:00
gingerBill
458ec5922e odin query
Output .json file containing information about the program
2019-05-25 20:24:19 +01:00
gingerBill
ea1690b7a1 Improve type inference for variadic parameters 2019-05-04 14:01:04 +01:00
gingerBill
b1684fe455 @(private) for foreign blocks; Improve foreign signature similarity rules 2019-03-24 11:58:26 +00:00
gingerBill
886054f0f8 Add error message for when trying to assign a type to a variable. 2019-03-22 13:55:29 +00:00
gingerBill
716373836c Disallow attributes on alias declarations 2019-03-15 19:01:36 +00:00
gingerBill
a9ab90bd24 Make static an attribute rather than a keyword prefix 2019-02-23 22:17:27 +00:00
gingerBill
e551d2b25e Replace foreign export {} with @export 2019-02-23 21:39:47 +00:00
gingerBill
8fc24fd6f2 Replace deferred with deferred_none, deferred_in, deferred_out 2019-01-13 19:34:08 +00:00
gingerBill
95873e66ab deferred procedure attribute 2018-12-14 21:05:02 +00:00
gingerBill
b55b1ffe14 opaque keyword and type 2018-11-11 17:08:30 +00:00
gingerBill
834308d8ce Fix using import override "bug" 2018-09-29 13:07:46 +01:00
gingerBill
597fb452b1 Minor fixes 2018-09-24 10:22:22 +01:00
gingerBill
f1e1814ff9 Syntactic sugar for anonymous enum within a bit set 2018-09-11 12:10:32 +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
1d0ac72e4a Disable non-comparison operations for enum (use bit_set for flags) 2018-08-17 15:24:44 +01:00
gingerBill
dc5da7933a Add older demos 2018-07-29 11:36:24 +01:00
gingerBill
96fc9138d4 Do using Foo :: enum at the type_decl stage 2018-07-29 11:29:20 +01:00
gingerBill
5fe4c33d0e Allow importation of core:builtin to get built-in entities 2018-06-17 21:46:37 +01:00
gingerBill
c2ca24a486 Big renaming: AstNode to Ast 2018-06-17 10:58:59 +01:00
gingerBill
5081ea1a0c Fix type aliasing comparison; Fix gb_utf8_decode 2018-06-15 19:59:35 +01:00
gingerBill
268491b224 Use global arena for AstNode allocations 2018-06-09 19:53:06 +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