gingerBill
cec08114fd
Mock out comments
2024-02-02 14:57:22 +00:00
gingerBill
bf90b61908
Fix type_elem_type for complex32 and quaternion64
2024-02-02 14:52:42 +00:00
gingerBill
e7122a0950
Minimize extra dependencies if u128/i128 and f16 are not used
2024-02-02 11:42:22 +00:00
jakubtomsu
aff345f57f
Allow fixed SOA structs
2024-01-31 21:38:05 +01:00
gingerBill
9fb090d1b8
Merge pull request #3141 from laytan/add-all-packages-flag-for-tests
...
Add `odin test -all-packages` to be able to test an entire project
2024-01-31 11:59:54 +00:00
gingerBill
946cf52df1
Merge branch 'master' into base-work
2024-01-28 23:50:31 +00:00
gingerBill
a78f062499
Fix semantics for casting between polymorphic specialized procedures
2024-01-28 23:49:59 +00:00
gingerBill
3c47503780
Improve foreign variable fuzzy type checking
2024-01-28 23:35:01 +00:00
gingerBill
3c24584290
Remove cyclic import hack for package runtime
2024-01-28 23:12:48 +00:00
gingerBill
6a07effdd2
Freestanding - default to nil allocator; wasm - default to panic allocator
2024-01-28 22:15:28 +00:00
gingerBill
395e0fb225
-default-to-panic-allocator
2024-01-28 22:09:20 +00:00
gingerBill
d04c82e547
Move matrix compiler builtins to intrinsics; alias within core_builtin_matrix.odin
2024-01-28 21:20:30 +00:00
gingerBill
09fa1c29cd
Move core:runtime to base:runtime; keep alias around
2024-01-28 21:05:53 +00:00
gingerBill
68df35b378
Add #field_align(N)
...
It sets the minimum alignment for the fields within a struct. This cannot be used with `#packed`, but can be used with `#align(N)`.
If `#align(N)` is less than `#field_align(N)`, then a warning will be printed.
2024-01-28 17:33:29 +00:00
gingerBill
c1d853a24e
Remove dead code
2024-01-28 17:32:34 +00:00
Laytan Laats
31914e9cb9
Add odin test -all-packages to be able to test an entire project
2024-01-26 18:27:05 +01:00
gingerBill
15b40a4f29
Fix #3122
2024-01-26 12:56:16 +00:00
gingerBill
5406acc8fa
Fix type_ptr_set_update
2024-01-26 12:47:39 +00:00
Laytan Laats
2097b09abb
fix for wasm on llvm 17
2024-01-22 21:07:17 +01:00
Jeroen van Rijn
73f57c5933
Clarify #location error message when not a call.
2024-01-20 14:27:50 +01:00
Jeroen van Rijn
fc047a8043
Expand -subsystem option on Windows
...
W:\Odin>odin run sketch.odin -file -subsystem:foo
Invalid -subsystem string, got oo. Expected one of:
BOOT_APPLICATION, CONSOLE (default), EFI_APPLICATION, EFI_BOOT_SERVICE_DRIVER, EFI_ROM, EFI_RUNTIME_DRIVER, NATIVE, POSIX, WINDOWS (or WINDOW), WINDOWSCE
We now also set the constant ODIN_WINDOWS_SUBSYSTEM, which is "" for non-Windows targets.
2024-01-18 19:12:39 +01:00
Jeroen van Rijn
ae52e245ea
Add WINDOWS_SUBSYSTEM constant bool
...
true when -subsystem:windows for Windows targets, false otherwise.
2024-01-18 17:42:03 +01:00
gingerBill
a2f0ac0fd2
Merge pull request #3093 from avanspector/master
...
Add shell environment for Nix
2024-01-17 16:48:14 +00:00
gingerBill
2987fc65a1
Merge pull request #3043 from laytan/check-float-value-succeeded
...
check if string could be converted from float
2024-01-17 16:47:41 +00:00
Laytan Laats
b25e85a8bb
check if string could be converted from float
2024-01-17 00:15:24 +01:00
codename-irvin
d460dd2bdc
Merge branch 'master' into dev
2024-01-16 15:42:47 -05:00
gingerBill
f2d3376c0b
Merge pull request #3084 from stan680/semaphore-fix
...
Fix loop condition in semaphore_wait
2024-01-16 18:09:02 +00:00
codename-irvin
0fcd2f1d88
Use default calling convention for arm target for now - not 100% sure this is correct
2024-01-16 10:47:25 -05:00
codename-irvin
76f52dd6c9
Add freestanding aarch64 target
2024-01-15 19:49:34 -05:00
Laytan Laats
5032839abc
darwin: add library paths for default Homebrew and MacPorts locations
2024-01-13 21:38:30 +01:00
avanspector
70c150fc83
Fix gcc build
...
Although gcc is not officially supported, this little fix lets it to build Odin
2024-01-13 19:27:42 +01:00
Platin21
bb94f4d129
Fixed version matching
2024-01-10 17:24:53 +01:00
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
Platin21
120ef168bf
Added macOS versions for a lot of revisions
2024-01-10 16:42:25 +01:00
gingerBill
67dcd916e8
Update instrumentation signature to support runtime.Source_Code_Location as last parameter.
2024-01-09 11:01:18 +00: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
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
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
Laytan Laats
8a7c2ea9d0
darwin: actually honor no-crt by not linking with -lSystem -lm
2024-01-02 21:44:51 +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
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
Platin21
778bbee17c
Removes macOS min version and supports default latest
2024-01-02 19:49:44 +01:00
gingerBill
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