gingerBill
72aa0e6e38
Replace many foreign llvm calls with intrinsics
2021-04-25 20:22:26 +01:00
gingerBill
cb2e6ea31d
Remove use_llvm_api related checks and other related things
2021-04-25 20:03:05 +01:00
gingerBill
c3b3194a00
Update builtin procedures to support the new allocator features (without breaking other code)
2021-04-19 22:44:20 +01:00
gingerBill
f98c4d6837
Improve the Allocator interface to support returning Allocator_Error to allow for safer calls
...
Virtually all code (except for user-written custom allocators) should work as normal. Extra features will need to be added to make the current procedures support the `Allocator_Error` return value (akin to #optional_ok)
2021-04-19 12:31:31 +01:00
gingerBill
394e4fcbad
Add __extendhfsf2 for macOS
2021-04-05 18:44:08 +01:00
gingerBill
54e6c50769
Implement f16 functionality
2021-04-01 10:06:00 +01:00
gingerBill
0ccf103160
Fix byte swapping for endian specific types in -llvm-api
2021-03-27 12:48:29 +00:00
gingerBill
b727b6438b
Minimize unneeded casts
2021-03-03 14:31:17 +00:00
gingerBill
aa93305015
Replace usage of inline proc with #force_inline proc in the core library
2021-02-23 16:14:47 +00:00
gingerBill
aa859c2187
Clean up and fix __dynamic_map_erase
2020-11-25 22:36:34 +00:00
gingerBill
9e42cb1595
Add comparisons to structs where all fields are comparable == and !=
2020-11-23 12:20:04 +00:00
gingerBill
78b6948ff2
Reorganize package strings
2020-11-12 14:17:41 +00:00
gingerBill
fc4fdd588e
Remove usage of do in core library
2020-09-23 17:17:14 +01:00
gingerBill
f48a873954
Reorganize package runtime
...
Separates out the OS specific stuff into different files
2020-09-15 11:52:19 +01:00
gingerBill
6aa708a455
Fix Odin bug with "none" procedure calling conventions in the runtime
2020-09-10 16:36:33 +01:00
gingerBill
c1149dbdee
Update math and math/linalg; add "pure_none" calling convention
2020-09-10 15:00:19 +01:00
gingerBill
f70939ab4f
Use windows specific exception traps
2020-06-15 12:39:29 +01:00
gingerBill
1a4e2196bd
Fix runtime.bswap_16
2020-06-05 14:12:30 +01:00
gingerBill
ff92eb9112
Relative pointers
2020-05-15 17:37:00 +01:00
gingerBill
8b066b2456
Fix runtime.memset issue
2020-05-14 17:56:24 +01:00
gingerBill
e0a242e9a1
Enforce explicit context definition for procedure calls
2020-05-14 13:44:28 +01:00
gingerBill
f6c7a0c9b8
Fix -llvm-api memset "bug"
2020-05-13 23:51:51 +01:00
gingerBill
4236e870d7
Fix type assertion bug #619
2020-04-21 23:26:02 +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
d4e95282c2
Fix llvm.memset for both backends
2020-03-08 18:42:30 +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
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
2180f4a475
Basic work on obj generation
2020-02-23 10:04:25 +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
10f0961184
Enumerated arrays [Enum_Type]Elem_Type
2019-12-27 12:51:02 +00:00
Patric Dexheimer
ff0bc3ccad
minor details ;)
2019-12-24 11:50:26 -03:00
gingerBill
5b1312342e
Fix runtime.mem_copy_non_overlapping to be like C's memcpy
2019-12-24 08:07:43 +00:00
gingerBill
d1c9fd4e01
Implement #complete switch by default, replace with #partial switch #511
2019-12-22 12:03:48 +00:00
gingerBill
58d4d424c6
Replace #vector[N]T with #simd[N]T to reduce confusion #498
2019-12-15 11:30:09 +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
d22e5b697d
Add new #soa and #vector syntax
2019-11-17 10:30:37 -08:00
gingerBill
40546fbde2
Use runtime.mem_copy in package me
2019-11-03 19:59:41 +00:00
gingerBill
fe5c642d9f
Fix runtime.cstring_len
2019-10-29 08:47:05 +00:00
gingerBill
7140f42915
Modify runtime to reduce dependencies on other packages
2019-10-23 21:43:13 +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
65d41d4248
Fix bit_field comparison against nil #414
2019-08-09 20:31:11 +01:00
gingerBill
77734ea967
Improve the performance of simple array comparisons
2019-07-27 11:59:50 +01:00
gingerBill
f25818e923
Make procedure parameters just named values rather than copied variables
2019-07-15 21:18:37 +01:00
gingerBill
b38a8cfb12
Move internal 128-bit stuff to a windows specific file
2019-06-01 12:26:54 +01:00
gingerBill
c40acd008e
Add i128/u128 support for bit sets
2019-05-28 20:53:56 +01:00
gingerBill
3d2279fba0
Support 128-bit integers i128 u128
2019-05-28 20:27:45 +01:00
gingerBill
1354f53d02
Remove derived from context; Fix parsing issue for typeid specializations in record parameters; Fix runtime printing of types
2019-03-31 11:58:54 +01:00