Commit Graph

16601 Commits

Author SHA1 Message Date
gingerBill
8cb7965aa5 for init; x in y {} style loops 2026-02-11 15:33:14 +00:00
Jeroen van Rijn
2e58c62a80 Clarify -lto help text 2026-02-11 15:13:24 +01:00
gingerBill
b1633b9ebb Require all values from a procedure iterator if the procedure is marked with @(require_results) 2026-02-11 14:05:06 +00:00
gingerBill
9e547b4f82 Merge branch 'master' of https://github.com/odin-lang/Odin 2026-02-11 13:02:06 +00:00
gingerBill
16a6c96971 Add VirtualAlloc2 and MapViewOfFile3 2026-02-11 13:01:35 +00:00
Jeroen van Rijn
fedc0a9d96 Merge pull request #6257 from krnowak/krnowak/asm-unknown-directives
Stop silently ignoring unknown directives on an inline asm expression
2026-02-11 13:40:38 +01:00
Krzesimir Nowak
6cc6f06d4d Stop silently ignoring unknown directives on an inline asm expression 2026-02-11 13:22:13 +01:00
gingerBill
ae91b9b369 Add -show-import-graph 2026-02-10 22:16:15 +00:00
gingerBill
3eaa11044c Add user_data: rawptr to time.Benchmark_Options 2026-02-10 20:20:02 +00:00
Jeroen van Rijn
855bc31350 Merge pull request #6254 from jakubtomsu/more-import-cleanup
More import cleanup
2026-02-10 20:19:26 +01:00
jakubtomsu
83489c07f1 fix allocator error 2026-02-10 19:56:49 +01:00
jakubtomsu
26e4af28ad remove the actual fmt import from trace_cpp 2026-02-10 19:55:50 +01:00
jakubtomsu
edd960905a fix typo in the trace cpp backend 2026-02-10 19:48:12 +01:00
jakubtomsu
77be6a1f18 fix tabs 2026-02-10 19:46:51 +01:00
jakubtomsu
0e2f5b7d70 remove strconv 2026-02-10 19:45:18 +01:00
jakubtomsu
874ffa0385 remove core:fmt dependency from core:debug/trace 2026-02-10 19:19:30 +01:00
jakubtomsu
53cb56cc21 remove core:mem dependency from core:bytes 2026-02-10 18:48:22 +01:00
jakubtomsu
8bfee54204 Merge branch 'master' of https://github.com/jakubtomsu/Odin into more-import-cleanup 2026-02-10 18:39:28 +01:00
jakubtomsu
204dee162d remove xxhash core:mem dependency 2026-02-10 18:31:43 +01:00
gingerBill
132e4e470f Merge pull request #6249 from laytan/fix-box2d-build-and-try-lfs
fix box2d build and try Git LFS
2026-02-10 13:30:24 +00:00
Jeroen van Rijn
9c3ea1386f Merge pull request #6250 from jakubtomsu/dep-cleanup
Clean-up some imports and dependencies
2026-02-09 23:11:08 +01:00
jakubtomsu
d492122bd4 import cleanup 2026-02-09 20:08:22 +01:00
laytan
5a02132ac3 fix box2d build and try git LFS 2026-02-09 19:48:27 +01:00
gingerBill
8018604f83 Fix handle_map index on dynamic_add 2026-02-08 22:58:44 +00:00
Laytan Laats
7b18a08d56 add vendor:curl to docs 2026-02-07 15:45:25 +01:00
gingerBill
6130f34e47 Merge pull request #6242 from heavyrain266/fix-enum-type
vendor:directx/d3d12 fixed access violation errors
2026-02-07 09:43:11 +00:00
Ignacy Koper
dcbbb5792b vendor:directx/d3d12: changed backing integers of BARRIER* enums and bit-sets to u32 from i64
and added missing `Flags` field to `TEXTURE_BARRIER` struct

Signed-off-by: Ignacy Koper <ignacy423@gmail.com>
2026-02-07 09:58:42 +01:00
Jeroen van Rijn
0c360e51a1 Merge pull request #6228 from heavyrain266/expand-d3d12
added `IGraphicsCommandList7` to vendor:directx/d3d12
2026-02-06 14:14:58 +01:00
Ignacy Koper
a6ad74cea6 vendor:directx/d3d12: added IGraphicsCommandList7 with enhanced barriers
Signed-off-by: Ignacy Koper <ignacy423@gmail.com>
2026-02-06 13:59:02 +01:00
Jeroen van Rijn
b2d113aebf Merge pull request #6230 from Nahuel2998/fix/x11-xlib-xchangewindowattributes
vendor/x11/xlib: Fix signature of XChangeWindowAttributes
2026-02-04 21:48:22 +01:00
Nahuel2998
7ef562b51e vendor/x11/xlib: Fix signature of XChangeWindowAttributes
Actually fixes #5139
2026-02-04 17:29:10 -03:00
gingerBill
6f7a64a47d Change LTO rules for all platforms 2026-02-04 17:15:48 +00:00
gingerBill
b942f72cb0 Add docs for -lto:<string>; remove -lld and -radlink flags docs; with -lto default to -use-separate-modules and -linker:lld dev-2026-02 2026-02-04 12:45:26 +00:00
gingerBill
5cf0ba47ab Merge pull request #6226 from Nahuel2998/fix/x11-xlib-procs-returntype
vendor/x11/xlib: Fix returntype of some procs
2026-02-04 10:28:29 +00:00
gingerBill
61f3d45fa7 Merge pull request #6227 from JesseRMeyer/lto-support
Fix LTO on Windows
2026-02-04 08:59:23 +00:00
Jesse Meyer
b8276065f9 Merge branch 'master' into lto-support 2026-02-03 20:52:52 -05:00
Jesse Meyer
bd6148dd6b Fix Windows LTO: preserve required procedures with llvm.used
On Windows with LTO, required procedures with external linkage need to
be added to @llvm.used to survive linker-level dead code elimination.

LLVM may generate implicit calls to runtime builtins (e.g., __extendhfsf2
for f16 conversions) during instruction lowering, after the IR is
finalized. Without @llvm.used, the linker discards these procedures
before the implicit calls are generated.

This adds required procedures to @llvm.used at creation time. The fix
is Windows-specific; other platforms handle this correctly.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 20:16:44 -05:00
Jesse Meyer
a0562dfd6e Fix lld-link LTO jobs flag syntax on Windows
lld-link doesn't recognize /lldltojobs:N as a standalone flag and
treats it as a file path. Use /opt:lldltojobs=N instead.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 20:16:20 -05:00
Jesse Meyer
9eba12948a Skip sanitizer IR passes when LTO is enabled
With ThinLTO, the linker runs sanitizer passes at link time via
-fsanitize= flags, where it has whole-program visibility. Running
them at bitcode emission too double-instruments every module,
producing hundreds of "Redundant instrumentation detected" warnings.
Per-function sanitize/no_sanitize attributes are preserved in the
bitcode and respected by the linker's pass.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 20:16:20 -05:00
Jesse Meyer
43ad4a1d9f Add ThinLTO support via -lto:thin and -lto:thin-files flags
- Add -lto:thin and -lto:thin-files CLI flags with validation
- Emit LLVM bitcode (.bc) instead of object files when LTO is enabled
- Pass -flto=thin and -flto-jobs to clang/lld linkers
- Guard linkage corrections to skip declarations without definitions
  (required for LTO where declarations appear across modules)
- Allow module-per-file with LTO even at higher optimization levels

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 20:16:20 -05:00
Nahuel2998
37e82c9387 vendor/x11/xlib: Fix returntype of some procs
Returntype of a few procs was incorrectly set to i32 rather than a proc
that returns i32.
2026-02-03 17:17:33 -03:00
Jeroen van Rijn
270df36468 Merge pull request #6213 from Yawning/feature/more-secec
crypto: More core:crypto
2026-02-03 15:45:57 +01:00
gingerBill
e6a62c4bb0 Minor optimization to map_probe_distance 2026-02-03 12:19:20 +00:00
Yawning Angel
eadd5f789c core/crypto/ecdh: Add secp384r1 2026-02-03 18:48:07 +09:00
Yawning Angel
64ce2bdf0e core/crypto/_weierstrass: Add secp384r1 2026-02-03 18:48:07 +09:00
Yawning Angel
bd0cfe4a81 core/crypto/_fiat: Minor p256 cleanups 2026-02-03 16:15:16 +09:00
Jeroen van Rijn
de086c316f Merge pull request #6223 from FabzAn/pass-on-permanent_allocator
text/regex: Pass given allocator on in create_iterator
2026-02-02 20:25:27 +01:00
gingerBill
f3daaa62fe Merge pull request #6220 from laytan/fix-lto-macos
fix LTO on MacOS
2026-02-02 18:46:18 +00:00
Fabian Erdmann
55ab089ffc text/regex: Pass given allocator on in create_iterator 2026-02-02 19:41:37 +01:00
Laytan Laats
afbbb829ea fix LTO on MacOS
If no `-minimum-os-version` is given, ignore the `override-module`
warnings. The user not using, `-minimum-os-version` opts you into linker
warnings about target versions.

If a `-minimum-os-version` is provided, normalize it to a full version
`11` to `11.0.0` for example. The linker seems to want that when doing
LTO.
2026-02-02 18:13:48 +01:00