[Support] Fix format_object streaming ambiguity in Objective-C++ mode (#215826)
Upstreams https://github.com/swiftlang/llvm-project/pull/13625.
Streaming a format_object writes it through a temporary lambda. Swift's
C++ interoperability enables block pointer conversions, which makes
`raw_ostream::operator<<(const void *)` a viable candidate alongside
`operator<<(function_ref<size_t(char *, size_t)>)`, so overload
resolution is ambiguous. This breaks the Swift compiler because it
contains Swift code that interoperates with C++ code that instantiates
this template.
Bind the lambda to an explicit function_ref before streaming so the
intended overload is selected unambiguously in every language mode.
Assisted-by: Claude Code
cross/ia16-elf-gcc-bootstrap: import ia16-elf-gcc-bootstrap-6.3.0pre20260612
Bootstrap GCC for IA16 (for example, 8086 and 80286) MS-DOS cross environment.
This package is only for bootstrapping toolchain.
[HLSL] Generate semantic signature metadata (#212892)
This pr adds support to collect the signature element metadata as they are emitted and outputs them to a named metadata node.
Updates the constructor of a `SemanticSignature` to reflect the required values and touches up its corresponding unit tests.
Adds a lit test of the metadata creation.
Resolves https://github.com/llvm/llvm-project/issues/57928
[LLDB] Track tool dependencies in Makefile.rules (#215701)
Before b9225e860769 (Allow tests to share a single build)
lldbtest.makeBuildDir() would delete the build dir before building a
test, but the shared test builds no longer have that behavior. Neither
does the check-lldb target delete the entire test build dir before
running, so tests don't get rebuilt when one of the tools (for example,
clang) change.
This patch is one way to solve this, by adding all tools as explicit
dependencies to each rule in the shared Makefile.rules.
Assisted-by: claude
[libomp] OpenMP 6.0: Add device trait parser (#176164)
OpenMP 6.0 introduced a device trait specification language for the
environment variables OMP_AVAILABLE_DEVICES (4.3.7) and
OMP_DEFAULT_DEVICE (4.3.8).
This commit defines a grammar for that language and implements a parser
for a large part of this grammar.
[AMDGPU] Utilize Promote action for FMINIMUM/MAX f16 (#215678)
Utilize Promote action to convert f16 FMINIMUM/FMAXIMUM to use v2f16.
Custom lowering is no longer needed.
Support for Promote from scalar to vector was added in
https://github.com/llvm/llvm-project/pull/215042.
---------
Signed-off-by: John Lu <John.Lu at amd.com>
[DebugInfo] Do not stop after livedebugvars (#215169)
livedebugvars is an analysis. We can only -stop-after it inside the
LegacyPM due to how the LegacyPM schedules analyses. We cannot
stop-after it inside of the NewPM given analyses are dynamically
requested within each pass. Instead, just stop before the asm printer
given we're after the last livedebugvars analysis which happens pretty
late in the pipeline and it doesn't seem like there's a vastly better
spot.
[CIR] Require every record member to specify its kind
The member kind list was optional, and an all-data list was canonicalized
to an absent one, so "nobody computed this" and "everything is data" had
the same spelling. A producer that forgot to specify was assumed
correct.
The list is now required on both record types and the verifier demands
one kind per member. Normalization is no longer needed and is removed.
A producer whose members all hold data says so with getAllDataKinds.
CIRGen has to compute a list too, so record lowering funnels every
appended field through addField and marks inserted padding as pad.
A data member still prints without a mark, and `data` is now accepted on
input so every kind can be written out.
Assisted-by: Cursor / claude-opus-5
[CIR] Add AArch64TargetCIRGenInfo (#215424)
This adds an AArch64-specific implementation of TargetCIRGenInfo and
adds handlers for the functions that require AArch64-specific handling.
I've implemented the wouldInliningViolateFunctionCallABI function
(because that seemed easier than deciding when to report NYI), generated
an NYI error for isScalarizableAsmOperand in the one case where it needs
to do something other than forward the call to the based class, and
added MissingFeatures asserts for setTargetAttributes (because CIR
doesn't support the features it wants to add attributes for yet).
Assisted-by: Cursor / various models
Keep two USB devices from being pointed at one port
## Problem
The USB port migration resolved each stored bus and device number to the port currently holding it, but never checked whether another device was already pointing there. A row carrying a device number and a row that already named that port both ended up on it, and nothing downstream objects: the uniqueness check only runs when a device is created or updated. Which of the two rows won also depended on the order the rows happened to come back in.
## Solution
- **A claim ledger, scoped per instance.** Every row is resolved before anything is written, and rows that keep their stored value claim their port first, so a rename landing on a port another device of the same instance already holds is left alone and logged rather than applied. Scoping to the instance rather than the table is deliberate: two VMs configured for one dongle is valid config, they simply cannot both be running.
- **One udev scan for the whole run.** `usb_device_names_by_bus_and_devnum` builds the bus and device number map in a single pass, so every row is resolved against the same view of the machine instead of one scan per row.
- **A write that fails no longer takes the rest down with it.** A migration that raises is not recorded and starts over on the next boot, by which time the kernel has reissued the very device numbers the rows that did get written were resolved from.
Log lines now name the instance, so an admin reading them can tell which VM or container lost a device without going to the database for it.
`middlewared/utils/usb.py` goes too: it had no callers anywhere and was a second implementation of the naming scheme this work replaced, waiting for someone to wire it up.
misc/ruby-sprockets: update to 4.3.0
4.3.0 (2026-08-12)
* Fixed compatibility with json 3+.
* Do not set variable GZip#mtime but do always set File#mtime. #821
lang/ruby-execjs: update to 2.10.2
2.10.2 (2026-08-12)
What's Changed
* fix: missing . in temp file which leads creating extensionless file by
@tomocrafter in #146
* Support JSON 3.x by @byroot in #150
[CIR][NFC] Add atomic compare-exchange runtime order test (#215722)
Add a test for `__atomic_compare_exchange_n` when both success and
failure memory orders are runtime values. Check the nested CIR switches
across every generated memory-order combination.
Partially addresses #156747.