| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Merge pull request #4797 from laytan/improve-abs-of-float | gingerBill | 2025-02-08 | 1 | -2/+5 |
| |\ | | | | | improve abs() on floats for more correct and faster results | ||||
| | * | apply abs fix to constant system too | Laytan Laats | 2025-02-06 | 1 | -2/+5 |
| | | | |||||
| * | | Preserve `#no_nil` in `intrinsics.type_convert_variants_to_pointers` | korvahkh | 2025-02-03 | 1 | -0/+3 |
| |/ | | | | | | Previously the newly returned type would not be marked as `#no_nil`. This caused `reflect.get_union_as_ptr_variants` to break on `#no_nil` unions. | ||||
| * | Fix #4508 for abs, min, max (#4516) | Jeroen van Rijn | 2024-11-25 | 1 | -1/+38 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Fix #4508 for abs, min, max and the rest of the builtins. None of these segfault now: ```odin package bug main :: proc() { p :: proc() {} // _ = len(p()) // _ = cap(p()) // _ = size_of(p()) // _ = align_of(p()) // T :: struct {} // _ = offset_of(p()) // _ = offset_of(T, p()) // _ = offset_of(p(), foo) // _ = offset_of(p(), "") // _ = type_of(p()) // _ = type_info_of(p()) // _ = typeid_of(p()) // A: [4]int // _ = swizzle(p()) // :: proc(x: [N]T, indices: ..int) -> [len(indices)]T --- // _ = swizzle(A, p()) // :: proc(x: [N]T, indices: ..int) -> [len(indices)]T --- // _ = complex(p(), p()) // _ = quaternion(p(), p(), p(), p()) // _ = quaternion(w=p(), x=p(), y=p(), z=p()) // _ = real(p()) // _ = imag(p()) // _ = jmag(p()) // _ = kmag(p()) // _ = conj(p()) // _ = expand_values(p()) // _ = min(p()) // _ = max(p()) // _ = abs(p()) // _ = clamp(p(), p(), p()) // _ = soa_zip(p()) // _ = soa_unzip(p()) } ``` | ||||
| * | report error when builtin min/max has 1 (non-type) param | jakubtomsu | 2024-11-17 | 1 | -0/+9 |
| | | |||||
| * | Merge pull request #4427 from laytan/posix-additions | gingerBill | 2024-10-30 | 1 | -0/+4 |
| |\ | | | | | Finish sys/posix with Linux and partial Windows support & clean up other packages as a result | ||||
| | * | fix `#load_directory` including nested directories | Laytan | 2024-10-28 | 1 | -0/+4 |
| | | | |||||
| * | | Fixes #4395 by not assuming simd returns val | Misomosi | 2024-10-20 | 1 | -1/+1 |
| |/ | |||||
| * | `a ordered` to `an ordered` | gingerBill | 2024-10-02 | 1 | -7/+7 |
| | | |||||
| * | Specify integer-like only for some `atomic_*` intrinsics | Feoramund | 2024-09-18 | 1 | -13/+8 |
| | | | | | Fixes #4256 | ||||
| * | add '#caller_expression' | Laytan Laats | 2024-09-14 | 1 | -0/+16 |
| | | |||||
| * | add fixed point sign extend to 128 int deps | Laytan Laats | 2024-09-05 | 1 | -0/+10 |
| | | |||||
| * | Simplified #assert check | Jeroen van Rijn | 2024-08-31 | 1 | -7/+0 |
| | | |||||
| * | Check for `#assert` condition to be a constant bool | Jeroen van Rijn | 2024-08-31 | 1 | -1/+11 |
| | | | | | Fixes #4170 | ||||
| * | riscv: add an error when atomics are used without the atomics extension | Laytan | 2024-08-25 | 1 | -0/+8 |
| | | |||||
| * | Add `intrinsics.type_has_shared_fields` | gingerBill | 2024-08-24 | 1 | -0/+53 |
| | | |||||
| * | add support for linux_riscv64 and freestanding_riscv64 | Laytan | 2024-08-20 | 1 | -0/+5 |
| | | |||||
| * | posix: add package | Laytan Laats | 2024-08-14 | 1 | -0/+17 |
| | | |||||
| * | Add `intrinsics.masked_expand_load` and `intrinsics.masked_compress_store` | gingerBill | 2024-08-05 | 1 | -1/+6 |
| | | |||||
| * | Add `intrinsics.simd_masked_load` and `intrinsics.simd_masked_store` | gingerBill | 2024-08-05 | 1 | -18/+44 |
| | | |||||
| * | Add `intrinsics.simd_gather` and ``intrinsics.simd_scatter` | gingerBill | 2024-08-05 | 1 | -0/+54 |
| | | |||||
| * | Rename `add_sat` -> `saturating_add` | gingerBill | 2024-08-05 | 1 | -6/+6 |
| | | |||||
| * | Add `simd_reduce_any` and `simd_reduce_all` | gingerBill | 2024-08-05 | 1 | -0/+23 |
| | | |||||
| * | Allow `swizzle` to take more arguments than the original array length | gingerBill | 2024-08-05 | 1 | -1/+1 |
| | | |||||
| * | fix `add_sat` and `sub_sat` intrinsics | Laytan Laats | 2024-07-16 | 1 | -1/+42 |
| | | |||||
| * | Add intrinsics `add_sat` and `sub_sat` | gingerBill | 2024-07-16 | 1 | -0/+2 |
| | | |||||
| * | Minimize mutex lock for `#load_directory` | gingerBill | 2024-07-15 | 1 | -3/+7 |
| | | |||||
| * | Add #load cache files to `-export-dependencies:json` | gingerBill | 2024-07-08 | 1 | -0/+3 |
| | | |||||
| * | error on type_of(value of untyped type) | Karl Zylinski | 2024-07-03 | 1 | -0/+8 |
| | | |||||
| * | Add `intrinsics.type_struct_has_implicit_padding` #3844 | gingerBill | 2024-07-01 | 1 | -0/+25 |
| | | |||||
| * | Add internal flag for testing stuff | gingerBill | 2024-06-29 | 1 | -5/+7 |
| | | |||||
| * | Remove `@(warning)` and `#warning(...)` | gingerBill | 2024-06-25 | 1 | -20/+0 |
| | | |||||
| * | Add `#warning(<string>)` builtin compile time procedure | gingerBill | 2024-06-20 | 1 | -0/+20 |
| | | |||||
| * | Merge pull request #3524 from Feoramund/freebsd-amd64-syscall-errno | gingerBill | 2024-06-20 | 1 | -6/+52 |
| |\ | | | | | Add `intrinsics.syscall_bsd` | ||||
| | * | Add `intrinsics.syscall_bsd` | Feoramund | 2024-06-12 | 1 | -6/+52 |
| | | | | | | | | | | | | | 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. | ||||
| * | | Merge pull request #3137 from laytan/show-defineable | gingerBill | 2024-06-20 | 1 | -1/+27 |
| |\ \ | |/ |/| | Add flags to show/export defineable values and warn if a -define is unused in the project | ||||
| | * | collect and show docs of defineables | Laytan Laats | 2024-06-07 | 1 | -1/+7 |
| | | | |||||
| | * | check if -define is actually used | Laytan Laats | 2024-06-06 | 1 | -2/+13 |
| | | | |||||
| | * | -show-defineables and -export-defineables | Laytan Laats | 2024-06-06 | 1 | -1/+10 |
| | | | |||||
| * | | Add `intrinsics.procedure_of` | gingerBill | 2024-06-10 | 1 | -0/+46 |
| | | | | | | | | | | | | | | | | | ```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 ``` | ||||
| * | | Prevent panic when `swizzle` called with < 2 indices | Feoramund | 2024-06-08 | 1 | -0/+3 |
| | | | | | | | | | | | | | The requirement for at least 2 indices has been sourced from `lb_addr_swizzle` in `llvm_backend_general.cpp`, where there is an assert to ensure the swizzle_count is `1 < n <= 4`. | ||||
| * | | Try to fix a possible race condition with polymorphic record parameters | gingerBill | 2024-06-06 | 1 | -23/+8 |
| |/ | |||||
| * | implement `#exists(path)` | Laytan Laats | 2024-06-04 | 1 | -24/+70 |
| | | |||||
| * | fix crash when you have 2 `#load_directory` calls with the same path | Laytan Laats | 2024-06-04 | 1 | -0/+2 |
| | | |||||
| * | Initial hash directive implementation | Dudejoe870 | 2024-05-28 | 1 | -49/+118 |
| | | |||||
| * | Fix #3603 | gingerBill | 2024-05-20 | 1 | -1/+7 |
| | | |||||
| * | Add intrinsics `type_is_matrix_row_major` & `type_is_matrix_column_major` | gingerBill | 2024-05-20 | 1 | -0/+28 |
| | | |||||
| * | Fix `soa_zip` and `soa_unzip` | gingerBill | 2024-05-16 | 1 | -2/+2 |
| | | |||||
| * | Add intrinsics `type_bit_set_elem_type` & `type_bit_set_underlying_type` | gingerBill | 2024-05-09 | 1 | -0/+52 |
| | | |||||
| * | Fix #3464 | gingerBill | 2024-05-07 | 1 | -0/+3 |
| | | |||||