aboutsummaryrefslogtreecommitdiff
path: root/base
Commit message (Collapse)AuthorAgeFilesLines
* Add `intrinsics.type_struct_has_implicit_padding` #3844gingerBill2024-07-011-1/+2
|
* Add `non_zero_*` variants for `#soa` dynamic arraygingerBill2024-07-012-6/+61
|
* Add `#soa` support to `append` directlygingerBill2024-07-011-0/+3
|
* Add `#no_broadcast` to `append_soa`gingerBill2024-07-011-2/+2
|
* Add #soa forms to reserve, clear, and resizegingerBill2024-07-011-4/+23
|
* Add support for `make(#soa[]T)` etcgingerBill2024-07-011-0/+5
|
* Unify #soa code for structs and arraysgingerBill2024-07-011-42/+15
|
* wasi: make the demo run on wasi and run it in CILaytan Laats2024-06-293-4/+53
|
* Fix loads of indentation issues with mixing spaces and tabsgingerBill2024-06-291-2/+2
|
* Even more style fixesgingerBill2024-06-291-1/+1
|
* Remove unneeded `transmute`gingerBill2024-06-291-1/+1
|
* Add another `-vet-cast` checkgingerBill2024-06-291-0/+1
|
* Update for `transmute` `-vet-cast`gingerBill2024-06-292-9/+9
|
* Check for unneeded `transmute` with `-vet-cast`gingerBill2024-06-291-1/+1
|
* Use explicit calling conventionsgingerBill2024-06-291-4/+4
|
* Merge branch 'master' of https://github.com/odin-lang/OdingingerBill2024-06-292-8/+9
|\
| * Made default capacity of dynamic arrays more consistent.Karl Zylinski2024-06-292-8/+9
| | | | | | | | | | | | | | | | | | Before this if you do `arr: [dynamic]int` and then append to arr, then it will have capacity 8. But if you did `arr := make([dynamic]int, context.temp_allocator)` then arr would have capacity 16. Now both `arr: [dynamic]int` and `arr := make([dynamic]int, context.temp_allocator)` will resut in arr having zero 0. The only reason to use `make` without an explicit len or cap now is because you want to set it up for a non-default allocator. After the first call to `append` it will now in both cases have capacity 8. I also updated the documentation on the strings builder, both to reflect this, and also to fix it incorrectly saying that len would be 'max(16,len)', which wasn't true even before these changes.
* | Use `f32` operations rather than `f16` in `complex32` and `quaternion64` to ↵gingerBill2024-06-291-17/+20
|/ | | | improve accuracy and performance
* Merge pull request #3502 from ARtemachka/mastergingerBill2024-06-281-2/+2
|\ | | | | Fix typo in core_builtin
| * Fix typo in core_builtinArtsiom Babukh2024-04-281-2/+2
| |
* | Initialize default `context` in `heap_allocator_other.odin`gingerBill2024-06-281-0/+3
| |
* | Replace `max(8, 1)` in _append_elem with just `8` and a comment.Karl Zylinski2024-06-251-1/+2
| |
* | Make `runtime.heap_alloc` `contextless`gingerBill2024-06-255-15/+15
| |
* | Fix unaligned store for randJeroen van Rijn2024-06-201-1/+1
| |
* | Optimize default RNG for the common caseFeoramund2024-06-201-9/+16
| |
* | Merge pull request #3524 from Feoramund/freebsd-amd64-syscall-errnogingerBill2024-06-201-0/+2
|\ \ | | | | | | Add `intrinsics.syscall_bsd`
| * | Add `intrinsics.syscall_bsd`Feoramund2024-06-121-0/+2
| | | | | | | | | | | | | | | | | | This is a BSD-style syscall that checks for a high Carry Flag as the error state. If the CF is high, the boolean return value is false, and if it is low (no errors) then the boolean return value is true.
* | | Clarify that the arena in base:runtime shouldn't be used for anything but ↵Karl Zylinski2024-06-181-1/+2
| | | | | | | | | | | | the default temp allocator. This is done by renaming the file in which it lives, and also by improving the comment above `Arena :: struct {`. This should avoid some confusion where people end up using the Arena in base:runtime because they thought it was the 'default arena'.
* | | Fix `default_random_generator_proc` not using stateFeoramund2024-06-151-1/+6
| | |
* | | Update `core:math/rand` to use `context.random_generator` and remove `rand.Rand`gingerBill2024-06-151-2/+16
| | |
* | | Add `Reset` modegingerBill2024-06-152-13/+25
| | |
* | | Add `runtime.default_random_generator`gingerBill2024-06-152-1/+70
| | |
* | | Add random_generator.odingingerBill2024-06-151-0/+27
| | |
* | | Add `runtime.Random_Generator` interfacegingerBill2024-06-151-0/+19
|/ /
* | Use `#any_int` for `reserve_*` and `resize_*` procsFeoramund2024-06-101-5/+5
| | | | | | | | Resolves #3088
* | Add `intrinsics.procedure_of`gingerBill2024-06-101-0/+4
| | | | | | | | | | | | | | | | ```odin foo :: proc(x: $T) { fmt.println(x) } bar :: intrinsics.procedure_of(foo(int(123))) // parameters are never ran at compile time, similar to `size_of` bar(333) // prints 333 ```
* | Add compilation-related constantsFeoramund2024-06-101-0/+13
| | | | | | | | | | | | | | | | | | | | | | `ODIN_VERSION_HASH` is the `git` SHA hash of the commit the Odin compiler was built with. `ODIN_MICROARCH_STRING` is the string passed to `-microarch` when the program was built. `ODIN_OPTIMIZATION_MODE` is an enum value of which optimization mode was used to build the program.
* | Change indentationgingerBill2024-06-091-14/+14
| |
* | Add `@(rodata)` and `@(static, rodata)` where appropriategingerBill2024-06-061-2/+2
| |
* | improve orca targetLaytan Laats2024-06-058-16/+117
| |
* | Fix some typosFeoramund2024-06-041-1/+1
| |
* | Add missing `Raw_*` types for complex and quaternionFeoramund2024-06-031-0/+3
| |
* | Move `Raw_Complex/Quaternion` types to `base:runtime`Feoramund2024-06-031-0/+6
| |
* | Add unreachable to base/builtin/builtin.odinDamian Tarnawski2024-05-311-0/+2
| |
* | wasm: fix target wasm64p32 runtime procsLaytan Laats2024-05-311-9/+15
| | | | | | | | | | | | | | | | LLVM generates calls with `i32` regardless of target, so if a call to any of these procs was generated this failed to compile. I opted to fix by changing from `int` to `i32` on wasm64p32 and adding `#any_int` so existing code keeps working.
* | Make `ODIN_OS`, `ODIN_BUILD_MODE` comments congruent to underlying dataFeoramund2024-05-281-0/+3
| | | | | | | | Sourced from `src/checker.cpp`.
* | wasm: enable default temp allocatorLaytan Laats2024-05-241-1/+1
| | | | | | | | After #3592 I think it makes sense to also enable the temp allocator by default
* | Merge pull request #3592 from laytan/wasm-gpagingerBill2024-05-204-2/+905
|\ \ | | | | | | add a default heap/general purpose allocator for wasm to `base:runtime`
| * | add a default heap/general purpose allocator for wasm to `base:runtime`Laytan Laats2024-05-164-3/+906
| | |
* | | Add intrinsics `type_is_matrix_row_major` & `type_is_matrix_column_major`gingerBill2024-05-201-0/+3
| | |