Stan Irvin-Wilmot
7b53dbeb8a
fix loop condition on compare_exhange_strong result in semaphore_wait - it was backwards so would loop on success and bail on fail
2024-01-10 15:53:00 +00:00
gingerBill
72dfb73c9d
Merge branch 'master' of https://github.com/odin-lang/Odin
2024-01-09 11:01:24 +00:00
gingerBill
67dcd916e8
Update instrumentation signature to support runtime.Source_Code_Location as last parameter.
2024-01-09 11:01:18 +00:00
Jeroen van Rijn and GitHub
efb2b05040
Merge pull request #3078 from Kelimion/pq_peek
...
Add `peek` to priority queue.
2024-01-08 19:39:57 +01:00
Jeroen van Rijn
656e62d724
Add peek to priority queue.
2024-01-08 19:33:30 +01:00
gingerBill and GitHub
f3dc1f6e3b
Merge pull request #3075 from FrancisTheCat/fix-sort_by_indices_overwrite
...
Fixed type of temporary slice in sort_by_indices_overwrite
2024-01-08 16:39:08 +00:00
Franz Höltermann
873b7f8588
Fixed type of temporary slice in sort_by_indices_overwrite
2024-01-08 17:11:06 +01:00
Jeroen van Rijn and GitHub
7d3dfb1046
Merge pull request #3006 from hwchen/hwchen/last_index_any
...
fix strings.last_index_any for single char
2024-01-08 15:57:36 +01:00
gingerBill
f4782157d3
Implement instrumentation pass
2024-01-07 21:34:44 +00:00
gingerBill
aff8f06e3c
Add frontend stuff instrumentation tooling
...
//+no-instrumentation
@(no_instrumentation)
@(instrumentation_enter)
@(instrumentation_exit)
2024-01-07 19:56:00 +00:00
gingerBill and GitHub
1e1228fb37
Merge pull request #3024 from Yawning/fix/simd-x86
...
core:simd/x86: Various fixes
2024-01-07 11:57:22 +00:00
Yawning Angel
8d7c37e384
core/simd/x86: Use the none calling convention for intrinsics
...
The LLVM intrinsics that live under `llvm.x86` are not actual functions,
so trying to invoke them as such using the platform's native C
calling convention causes incorrect types to be emitted in the IR.
Thanks to laytanl for assistance in testing.
2024-01-07 20:04:40 +09:00
Yawning Angel
cd65a15d81
src: enable_target_feature should add features, not overwrite
...
`llvm_features` being empty is the default state, and implies the
presence of certain features.
Previously if any target features were explicitly enabled by the
`enable_target_feature` attribute, they were added comma separated
to `llvm_features`.
For example: `lzcnt,popcnt,...,sse4.2,sse`
This was causing LLVM to try to target a CPU that *ONLY* has the
explicitly enabled features. This now will prefix explicitly enabled
features with a `+`, and preserve the existing `llvm_features` string
by appending to it if it is set.
2024-01-07 20:04:40 +09:00
Yawning Angel
9235e82451
core/simd/x86: Correct a target feature name
2024-01-07 20:04:40 +09:00
Yawning Angel
ecee0e2db2
repo: Add more test binaries to .gitignore
2024-01-07 20:04:40 +09:00
Jeroen van Rijn and GitHub
2784e8ea51
Merge pull request #3072 from laytan/add-dynlib-last_error
...
dynlib: add last_error procedure
2024-01-06 02:13:53 +01:00
Laytan Laats
85b71708dd
dynlib: add last_error procedure
2024-01-06 02:08:11 +01:00
Jeroen van Rijn
649b5fa528
Add bool return to dynlib.initialize_symbols.
2024-01-06 02:04:09 +01:00
Jeroen van Rijn and GitHub
d6a89d667d
Add dynlib.initialize_symbols ( #3071 )
...
```
package example
import "core:dynlib"
import "core:fmt"
Symbols :: struct {
// `foo_` is prefixed, so we look for the symbol `foo_add`.
add: proc "c" (int, int) -> int,
// We use the tag here to override the symbol to look for, namely `bar_sub`.
sub: proc "c" (int, int) -> int `dynlib:"bar_sub"`,
// Exported global (if exporting an i32, the type must be ^i32 because the symbol is a pointer to the export.)
// If it's not a pointer or procedure type, we'll skip the struct field.
hellope: ^i32,
// Handle to free library.
// We can have more than one of these so we can match symbols for more than one DLL with one struct.
_my_lib_handle: dynlib.Library,
}
main :: proc() {
sym: Symbols
// Load symbols from `lib.dll` into Symbols struct.
// Each struct field is prefixed with `foo_` before lookup in the DLL's symbol table.
// The library's Handle (to unload) will be stored in `sym._my_lib_handle`. This way you can load multiple DLLs in one struct.
count := dynlib.initialize_symbols(&sym, "lib.dll", "foo_", "_my_lib_handle")
defer dynlib.unload_library(sym._my_lib_handle)
fmt.printf("%v symbols loaded from lib.dll (%p).\n", count, sym._my_lib_handle)
if count > 0 {
fmt.println("42 + 42 =", sym.add(42, 42))
fmt.println("84 - 13 =", sym.sub(84, 13))
fmt.println("hellope =", sym.hellope^)
}
}
```
2024-01-06 01:31:27 +01:00
gingerBill
b408ec6bac
Remove distinct from the specific types
2024-01-05 14:48:39 +00:00
gingerBill
8545f316ff
Fix the type inference in builtin.quaternion
2024-01-05 14:45:03 +00:00
gingerBill
3bf7b416e7
Fix builtin.quaternion generation
2024-01-05 14:36:58 +00:00
gingerBill
0b83e3dae5
Enforce naming the parameters with builtin.quaternion to reduce confusion
2024-01-05 14:29:14 +00:00
gingerBill
d7d23e65ea
Clean up error block usage
2024-01-05 13:47:00 +00:00
gingerBill
2820bbc269
Add @(entry_point_only) for procedures
2024-01-05 13:38:30 +00:00
gingerBill
70c5153471
Merge branch 'master' of https://github.com/odin-lang/Odin
2024-01-03 21:00:35 +00:00
gingerBill and GitHub
5961d4b316
Merge pull request #2983 from perogycook/raylib5
...
Raylib5 bindings with fixes
dev-2024-01
2024-01-03 18:32:45 +00:00
Jeroen van Rijn and GitHub
b59c80d6fd
Merge pull request #3068 from laytan/json-unmarshal-union
...
encoding/json: try to unmarshal into union variants
2024-01-03 19:13:36 +01:00
Laytan Laats
8c10f4cdde
encoding/json: try to unmarshal into union variants
2024-01-03 19:02:30 +01:00
gingerBill and GitHub
0cc72b536f
Merge pull request #3066 from laytan/darwin-actually-honor-no-crt
...
darwin: actually honor no-crt by not linking with `-lSystem -lm`
2024-01-03 17:25:41 +00:00
Laytan Laats
8a7c2ea9d0
darwin: actually honor no-crt by not linking with -lSystem -lm
2024-01-02 21:44:51 +01:00
Jeroen van Rijn and GitHub
cb1c10ce83
Merge pull request #3067 from Platin21/fix/macos-no-duplicated-linkage
...
Fix/macos no duplicated linkage
2024-01-02 21:35:41 +01:00
Platin21
37c2e9bec3
Fixed Typo / Added check for 1
2024-01-02 21:14:17 +01:00
Platin21
4626cd03da
Adds missing space
2024-01-02 21:04:44 +01:00
Platin21
3850be2e11
Fixed git issue..
2024-01-02 21:04:03 +01:00
Platin21
4c9aa30a1e
Merge remote-tracking branch 'origin/master' into fix/macos-min-version
2024-01-02 20:55:20 +01:00
Platin21
da977cf1e6
Adds new flag for linker to know if it should link the system library or not
2024-01-02 20:55:15 +01:00
Jeroen van Rijn and GitHub
ee97c5958f
Merge pull request #3065 from Platin21/fix/macos-min-version
...
Removes macOS min version and supports default latest
2024-01-02 20:07:26 +01:00
Platin21
778bbee17c
Removes macOS min version and supports default latest
2024-01-02 19:49:44 +01:00
Jeroen van Rijn
4efef08c94
Update core:encoding to Unicode 15.1 table.
2024-01-02 18:03:32 +01:00
gingerBill and GitHub
87c835268a
Merge pull request #2917 from flysand7/sys-linux-additions
...
[sys/linux]: Fixes and additions
2024-01-02 14:23:40 +00:00
gingerBill and GitHub
83ed0b37cd
Merge pull request #3036 from laytan/error-when-c-vararg-is-not-on-last-param
...
error when #c_vararg is not applied to the last parameter
2024-01-02 14:22:24 +00:00
gingerBill and GitHub
dc49cf766f
Merge pull request #3048 from ThomasL81/master
...
Fixing a pdb linker error when the path contains spaces
2024-01-02 14:18:44 +00:00
gingerBill and GitHub
933754193a
Merge pull request #3049 from igordreher/dxgi_bit_set
...
[vendor:directx/dxgi] change u32 flags to bit_sets
2024-01-02 14:18:09 +00:00
gingerBill and GitHub
76eef47491
Merge pull request #3054 from igordreher/win_error
...
[core:sys/windows] add System Error Codes enum
2024-01-02 14:16:36 +00:00
gingerBill and GitHub
0e21f45076
Merge pull request #3057 from korvahkh/fix-nil-default-arg
...
Fix #3056
2024-01-02 14:14:35 +00:00
gingerBill and GitHub
9bfe3a94f4
Merge pull request #3061 from flysand7/glfw-set-joystick-callback-fix
...
Fix the declaration of SetJoystickCallback
2024-01-02 14:13:53 +00:00
gingerBill and GitHub
a2009220a2
Merge pull request #3063 from aragalie/patch-1
...
remove duplication
2024-01-02 14:13:42 +00:00
gingerBill
b410383aaf
Merge branch 'master' of https://github.com/odin-lang/Odin
2024-01-01 16:11:13 +00:00
Alex Ragalie and GitHub
b47736260a
remove duplication
2023-12-31 21:57:39 +01:00