gingerBill
c330e5b5c1
Improve codegen for bit_field compound literals with an integer backing
2024-04-24 14:46:34 +01:00
gingerBill
ece78d22d2
Add -no-type-assert and ODIN_NO_TYPE_ASSERT
2024-04-18 11:22:31 +01:00
gingerBill
a61ae7c861
Fix #3427
2024-04-16 13:31:49 +01:00
gingerBill
df526549e2
Fix min/max for wasm
2024-03-26 14:31:28 +00:00
gingerBill
a750fc0ba6
Add #row_major matrix[R, C]T
...
As well as `#column_major matrix[R, C]T` as an alias for just `matrix[R, C]T`.
This is because some libraries require a row_major internal layout but still want to be used with row or major oriented vectors.
2024-03-19 21:05:23 +00:00
gingerBill
b1903b915b
Change to IEEE 754-2008 conformance for min/max runtime operations.
2024-03-06 15:16:11 +00:00
gingerBill
a7bab89c93
Unify min/max semantics for simd_(min|max)
2024-03-06 15:07:21 +00:00
gingerBill
a1ee9e7035
Change min/max runtime behaviour to match IEEE 754-2019
2024-03-06 15:04:46 +00:00
gingerBill
c14b9d461a
Support using of a bit_field within a struct
2024-02-22 19:14:16 +00:00
gingerBill
c1d853a24e
Remove dead code
2024-01-28 17:32:34 +00:00
gingerBill
3102abf1aa
mem zero rather than store to a union where the variant is of size zero
2023-11-24 10:57:18 +00:00
gingerBill
082324d7b9
Begin work on making the type info table be constantly initialized
2023-09-22 14:39:51 +01:00
gingerBill
c91898a888
Remove #relative slices; Replace with #relative multi-pointers
2023-08-05 16:05:39 +01:00
gingerBill
296674e18b
Rename ODIN_DISALLOW_RTTI to ODIN_NO_RTTI; Remove dead command line flags
2023-06-12 14:53:05 +01:00
gingerBill
ca6cef9a7d
Fix wasm intrinsics; fix len for strings and slices
2023-06-06 23:11:42 +01:00
gingerBill
685f7d0fea
Rename word_size to ptr_size internally to make it clearer
2023-04-20 12:18:13 +01:00
gingerBill
f5d9ca64f9
Begin work on new pseudo-architecture: wasm64p32
2023-04-20 12:02:32 +01:00
gingerBill
cde442fa2c
Add internal padding to types where ptr size != int size
2023-04-20 11:55:18 +01:00
gingerBill
843eaf8893
Fix race condition with -use-separate-modules due to type determination
2023-04-18 17:20:50 +01:00
gingerBill
a9182cfd8c
Allow compound literals to access fields through using
2023-02-26 13:26:35 +00:00
gingerBill
de0a3e0ab9
Minor change to byval for readonly parameters
2023-02-03 15:07:44 +00:00
gingerBill
9b278db993
Revert "Change tav to be a pointer internally"
...
This reverts commit e98f1a28e6 .
2022-12-22 12:01:41 +00:00
gingerBill
e98f1a28e6
Change tav to be a pointer internally
2022-12-22 11:53:13 +00:00
gingerBill
c1f5be24e2
Remove dead code in the compiler
2022-12-18 22:49:10 +00:00
gingerBill
6cdec65ca1
gb_internal LLVM backend
2022-12-18 22:32:05 +00:00
gingerBill
0befadde1d
Basic copy elision support for multiple return values
2022-11-24 01:27:39 +00:00
gingerBill
7ab591667a
Basic support for new ABI experiment on Win64
2022-11-23 16:25:09 +00:00
gingerBill
c7be30e0ea
Fix #2172
2022-11-21 11:38:29 +00:00
gingerBill
16fc961010
Begin work on map static set
2022-11-11 14:45:22 +00:00
gingerBill
8852d090b6
Correct static map get; make get take a pointer to simplify compiler internals
2022-11-10 12:46:53 +00:00
gingerBill
a71daee545
Allow for -use-static-map-calls which generates a get procedure per map; add runtime.map_get
2022-11-08 14:58:05 +00:00
gingerBill
046dd55032
Change __dynamic_map_get signature
2022-11-08 13:02:32 +00:00
gingerBill
810a1eee41
Remove the need for type->Map.internal_type and replace with the definition of runtime.Raw_Map
2022-11-08 11:13:46 +00:00
gingerBill
e3e225d21b
Support for in loops for map
2022-11-08 11:04:37 +00:00
gingerBill
da774e3fd2
General modifications
2022-11-08 00:38:31 +00:00
gingerBill
8c3f01fbfa
Correct parapoly determination of generated internal type of a map
2022-09-22 00:05:11 +01:00
gingerBill
91fd9c1ef2
Fix #2020 transmute from array to #simd code generation
2022-09-05 16:04:20 +01:00
gingerBill
6e9f9e6f3c
Fix typo
2022-08-17 15:57:56 +01:00
gingerBill
f504b200a9
Improve unreachable generation by putting a trap before it
2022-08-17 15:54:45 +01:00
gingerBill
d30198c99a
Merge pull request #1944 from odin-lang/load-improvements
...
Improvements to `#load`
2022-08-15 10:27:53 +01:00
gingerBill
8e7c7eeeba
Fix lb_emit_ptr_offset
2022-08-12 13:48:10 +01:00
gingerBill
38102f14c1
Add #load(path) or_else default in favour of #load_or(path, default)
2022-08-11 13:01:54 +01:00
gingerBill
84f9fb706b
General clean up of LLVM*GEP2 code
2022-08-10 11:36:25 +01:00
gingerBill
812823cad8
Wrap all LLVMGetElementType uses
2022-08-09 21:17:32 +01:00
gingerBill
cb0a59bb2c
Eliminate use of LLVMGetElementType for pointers
2022-08-09 15:36:18 +01:00
gingerBill
076700bd22
Merge pull request #1933 from lerno/reduce_reliance_on_ptr_type
...
Removed use of deprecated functions. Cleaned up most deprecated use o…
2022-08-09 15:18:09 +01:00
gingerBill
5e3cf45df3
Add #soa pointer type to aid with refactoring to #soa data types
...
a: #soa[16]Foo
p := &a[6]
#assert(type_of(p) == #soa^#soa[16]Foo)
p^.x = 123
p.x = 123
2022-08-08 15:07:00 +01:00
Christoffer Lerno
9c0a3b6c60
Removed use of deprecated functions. Cleaned up most deprecated use of LLVMGetElementType.
2022-08-07 19:26:28 +02:00
gingerBill
a58e4d0359
Allow for foo() or_else unreachable() and other diverging procedures
2022-08-05 12:19:57 +01:00
gingerBill
e6ab4f4856
Force memset instead of store zeroinitializer when the value is large
2022-07-24 20:22:50 +01:00