Commit Graph

4243 Commits

Author SHA1 Message Date
gingerBill
1ebb7f8e9d Merge pull request #3170 from flysand7/run-args-fix
Make run args take the first '--' as the start of the args, instead of the last '--'
2024-02-05 13:58:32 +00:00
gingerBill
80a0b161b0 Force 128-bit calls on wasm 2024-02-05 13:51:16 +00:00
gingerBill
27feb5998c Add require to 128-bit and f16 casts 2024-02-05 13:49:10 +00:00
gingerBill
e88db2818b force requiring the 128-bit calls on WASM targets 2024-02-05 13:48:08 +00:00
gingerBill
19535d8721 Add require flags to 128-bit integer procedures 2024-02-05 11:11:28 +00:00
flysand7
8ea8fbeccb Make run args take the first '--' as the start of the args, instead of the last '--' 2024-02-04 14:25:53 +11:00
gingerBill
c311a60aaf Merge pull request #3164 from FourteenBrush/master
Fix compiler panic: "src/parser.cpp(128): Panic: Unhandled Ast or branch expression"
2024-02-03 12:24:54 +00:00
korvahkh
8530829ca4 Fix dynamic array index = value with const value initializing to 0 2024-02-02 15:27:39 -06:00
FourteenBrush
0e5d7801dd Fix code style 2024-02-02 21:17:10 +01:00
FourteenBrush
d463adfe4f Merge remote-tracking branch 'upstream/master' 2024-02-02 21:01:52 +01:00
FourteenBrush
16bd19ed43 Fix Unhandled Ast_OrBranchExpr 2024-02-02 21:00:00 +01:00
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