Commit Graph

320 Commits

Author SHA1 Message Date
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
1a0614b0d7 Improve performance of tokenization and parsing 2020-05-27 18:23:37 +01:00
gingerBill
d09ac8943a Minor fixes to improve hash map/set performance 2020-05-21 16:27:40 +01:00
gingerBill
89d824216a Add extra information to -show-more-timings 2020-05-21 09:30:15 +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
f661d34049 Implement Explicit context creation #639 2020-05-14 00:13:26 +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
d51b98a8d2 Add extra 128 bit integer procedures 2020-05-13 13:46:32 +01:00
gingerBill
6861ff47bc Replace entity_of_ident with entity_of_node 2020-05-12 16:28:22 +01:00
gingerBill
fcdfcfce19 Let -vet ignore intentional declaration shadowing #637 2020-05-12 10:31:49 +01:00
gingerBill
3ef9566817 Fix typo 2020-05-03 16:18:47 +01:00
gingerBill
e27f5796d6 Add experimental atom op tables for llvm-backend 2020-05-02 18:45:57 +01:00
gingerBill
9faf292218 Fix @(export) for global variable declarations 2020-04-24 20:42:47 +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
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
baf5b9edc3 Add runtime.bswap_* required for -llvm-api 2020-04-11 19:26:16 +01:00
gingerBill
5e706bab56 Fix typeid comparison bug in ir.cpp 2020-04-04 21:23:11 +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
28502ba53b Fix context system; add more to -show-more-timings for LLVM API; Add ODIN_USE_LLVM_API global constant 2020-03-08 12:34:36 +00:00
gingerBill
2180f4a475 Basic work on obj generation 2020-02-23 10:04:25 +00:00
gingerBill
bfda101686 Get basic IR code generation working properly 2020-02-10 00:14:43 +00:00
gingerBill
d520b9a1ba Fix typo 2020-01-05 12:49:32 +00:00
gingerBill
5c7d6fcfd0 Improve minimum dependency for complex numbers and quaternion numbers. 2020-01-04 18:04:12 +00:00
gingerBill
ab52f8d795 Move definition of mem.Allocator and log.Logger to package runtime, to reduce import cycle magic 2019-12-31 12:15:19 +00:00
gingerBill
f24de51c65 Add _tls_index and _fltused for windows -no-crt 2019-12-29 21:28:50 +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
9e9e905431 Add @(private="file") and @(private="package") 2019-12-29 15:39:20 +00:00
gingerBill
10f0961184 Enumerated arrays [Enum_Type]Elem_Type 2019-12-27 12:51:02 +00:00
gingerBill
1d14b3059e Fix Internal Compiler Error: Type_Info for 'XXX' could not be found #507 2019-12-22 14:16:56 +00:00
gingerBill
4ba579bc25 Also allow #no_bounds_check on an expression #499 2019-12-15 11:41:21 +00:00
gingerBill
e229885b2b Remove addressing mode Addressing_Immutable 2019-12-01 19:11:00 +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
44e0e96612 Prepare SOA Struct code for slices and dynamic arrays *to be implemented* 2019-11-19 23:54:36 +00:00
gingerBill
967981aacd Add -show-more-timings 2019-11-10 21:49:02 +00:00
gingerBill
c1176c2bcb Fix typeid comparison bug; Add extra messages for pointer address errors 2019-11-03 19:49:21 +00:00
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
7140f42915 Modify runtime to reduce dependencies on other packages 2019-10-23 21:43:13 +01:00
gingerBill
2a6d9e8927 #panic; Minor change to demo.odin; Fix #assert bug at file scope 2019-10-13 12:38:23 +01:00
gingerBill
6c69e8c043 Make typeid semantics consistent across variables and constants 2019-10-06 14:55:25 +01:00
gingerBill
4afc78efc6 Add where clauses to struct and union 2019-09-08 12:12:41 +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