[clang] more useful error message for decomposition declaration missing initializer (#127924)
#90107
Diagnostic message for decomposition declaration missing an initializer
only highlights the declared identifier. This change adds an additional
diagnostic message to highlight the token found where the initializer
was expected. So, for example:
auto [a, b] S = {1, 2}
The new error points to 'S' and says that 'S' was found where an
initializer was expected.
Triple: Move OS/vendor/environment names into a def file (#208722)
Extract the component name lists into a macro .def file, similar
to how many targets do for CPU names. The arch/subarch names are
left alone because they have trickier manual parsing logic.
Co-Authored-By: Claude (Opus 4.8) <noreply at anthropic.com>
clang/AMDGPU: Forward host system includes in offload compiles (#208783)
Commit 640079288c5e merged the AMDGPU toolchain subclasses but dropped
the HIPAMDToolChain::AddClangSystemIncludeArgs override, which forwarded to
the host toolchain.
Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
[lldb] Simplify creating RegisterSets in DynamicRegisterInfo (#208592)
`DynamicRegisterInfo::GetRegisterSetIndexByName` is only used in
`DynamicRegisterInfo::SetRegisterInfo` so I inlined it and removed the
function. I also noticed that `m_set_names` is only used in this
function for setup, so I made it a local variable instead of a member.
[CIR] Generalize the special member attribute into func_info and add a callee resolver (#207261)
The `cxx_special_member` slot on `cir.func` becomes a general slot named
`func_info`, so facts about a function that are not special member facts
can join later without redesign.
Nothing about the special member forms changes. The attribute stays the
same union of the constructor, destructor, and assignment forms. Each
form keeps its shape and its embedded record type, and the CXX ABI
lowering still replaces that type with the converted one. The FuncOp
helpers keep their names, so passes that read the special member facts
do not change.
The printed keyword on `cir.func` changes from `special_member` to
`func_info`, so the old spelling no longer parses. The existing tests
update their check lines with no other change.
Calls gain a resolver named `resolveCallee` that returns the function a
direct call targets, so a pass standing at a call can read the facts
[5 lines not shown]
[asan][test] Fix Posix/new_array_cookie_with_new_from_class.cpp to work for arm targets (#208378)
arm targets, and arm64 targets on Darwin, use a 2-pointer array cookie
size. Update the test to support that.
Assisted-by: Claude Code
rdar://181775880
deskutils/zk: Update to 0.15.5
Changelog: https://github.com/zk-org/zk/blob/v0.15.5/CHANGELOG.md
Fix the build, which has been broken from the beginning, with every
vendored package erroring with:
"cannot find module providing package X import lookup disabled by -mod=vendor"
Switch to using GO_MODULE to fetch deps.
While here, update my maintainer email.
Approved by: dch (mentor)
Pull Request: https://github.com/freebsd/freebsd-ports/pull/553
AMDGPU: Migrate Analysis/Transforms tests to amdgpu subarch triple (1)
Mechanically migrate the command-line target spelling on RUN lines from
-mtriple=amdgcn ... -mcpu=<gfx> to the folded subarch triple form (e.g.
-mtriple=amdgpu9.00-amd-amdhsa), dropping the redundant -mcpu.
This first batch covers Analysis and Transforms tests. Tests whose output
materially depends on -mcpu (e.g. opt runs that record a target-cpu attribute,
or cost-model tests whose default subtarget differs) are left for separate
handling. This begins a series of ~62 PRs covering backend tests.
Co-Authored-By: Claude <noreply at anthropic.com> (Claude-Opus-4.8)
zstream: open up dump API to non-dump subcommands
The upcoming `zstream raw` would like to dump records as part of its
operation when a `-v` flag is passed.
This PR adds `zstream_dump.h` and publicly declares the
`serial_dump_records()` chain module for access by other parts of
zstream. It also makes a couple of other changes to make the dump
module more friendly toward clients.
- The record-type table no longer has to be passed into
`zstream_dump_records()` as a context struct. It's now a file static.
- `zstream dump` has command-line options for "verbose", "very verbose",
and "dump data", which each enable one or more functions. This patch
replaces the generic CA_VERBOSE and CA_VERY_VERBOSE internal flags
with options that request specific behaviors:
```
[17 lines not shown]
ValueTracking: Generalize known frexp exponent range to any constant
Extend computeKnownExponentRangeFromContext beyond the special case of a
dominating fabs(V) compare against exactly 1.0 to any finite limit.
Generalizing below 1.0 exposes a soundness issue: frexp(0) has exponent
0, so a bound derived assuming a nonzero value could wrongly exclude it
when the limit implies a negative maximum exponent. Query fcZero and clamp
the maximum exponent to at least 0 when the source may be zero.
Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
[lldb-mcp] Replace byte forwarding with a protocol-aware multiplexer (#208506)
To serve several LLDB instances behind one endpoint it has to act as a
multiplexer. This PR adds a Multiplexer that presents a unified MCP
server to the client. It answers initialize and tools/list locally, and
forwards tools/call and the resource requests to the different instances
through an mcp::Client (added in #208371), relaying the answer back.
For now, this still drives a single backend. Discovering and routing
across several instances is coming next.
Assisted-by: Claude
Replace zectl with the truenas_bootenv engine
zectl is being retired in favor of the truenas_bootenv package that
ships with truenas_pylibzfs (companion commit there). The
boot_environment plugin now calls the engine in-process on
middleware's thread-local libzfs handle: query, clone, activate,
destroy and keep all go through it, utils.py with run_zectl_cmd is
deleted, and the boot-time promotion of installer-cloned datasets
uses the engine instead of parsing zfs list -j output.
Mutations serialize on an asyncio lock. A truenas:grub_pending
marker on the boot pool tracks pending menu regenerations and
setup() reconciles it on start. If the menu cannot be written,
activate rolls bootfs back. The boot pool is synced after every
menu write so the change is crash safe.
Re-activating the already-activated boot environment is allowed
again as the retry path after a failed menu regeneration, and
can_activate treats a missing truenas:kernel_version as not
activatable instead of only the literal "-".
Reapply "[PGO][ICP] Prevent indirect call promotion to functions with incompatible target features" (#208774)
Reverts llvm/llvm-project#208079
We're still seeing build failures without this, so reapply for now.
Updated wip/ols to 2026-05. Requires Odin 2026-07. Reused the original maintainer's
setup, patched server/build.odin to remove references to Haiku, no longer in the
list of supported OS in Odin-2026-07.
[mlir][xegpu] Add support for 1D SLM case in vector-to-xepgu (#208276)
Currently vector-to-xegpu only support 2D SLM buffers. However
load/store_matrix op definition allows 1D access.
Assisted by: Claude
tests: Fix build if TIOCSTI is not defined
Some downstream projects (e.g. ElectroBSD) have removed the TIOCSTI
We already have some components (such as mail and tcsh) that build
without TIOCSTI defined. This is (existing portability support in those
projects.
Simplify things for downstreams by extending this approach to this
additional TIOCSTI user.
Reviewed by: markj
Differential Revision: https://reviews.freebsd.org/D50614
(cherry picked from commit 52a2b4bc5da21d7a54cb16b9450196244b59b8c0)
implement thorough scrub support (zpool scrub -t)
This introduces the -t (thorough) flag to 'zpool scrub' command.
A thorough scrub decrypts and decompresses blocks as they are read,
allowing ZFS to catch rare corruption scenarios where the block's
checksum matches the data on disk, but the block fails to decrypt
or decompress.
For encrypted datasets, the keys must be loaded to perform a thorough
scrub. If the keys are not loaded, or are unloaded while the scrub is
in progress, the scrub will fall back to a normal scrub
for those encrypted blocks with key unloaded.
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Alexander Motin <alexander.motin at TrueNAS.com>
Signed-off-by: Alek Pinchuk <Alek.Pinchuk at connectwise.com>
Closes #18474
utils/AMDGPU: Fold -mcpu across piped tools and llvm-objdump triples
Generalize the triple migration to RUN lines that pipe several tools (e.g. opt | llc, or llc | llvm-objdump), each carrying its own matching triple and -mcpu. When every -mcpu on the line names the same foldable target and there is one amdgcn triple per -mcpu, fold them all. Also recognize the llvm-objdump --triple= form (not just -mtriple=).
Co-Authored-By: Claude <noreply at anthropic.com> (Claude-Opus-4.8)
utils/AMDGPU: Handle generic targets in triple migration script
Map the gfx*-generic -mcpu values to their major-subarch triples (e.g. gfx9-4-generic -> amdgpu9.4, gfx12-generic -> amdgpu12) and widen the -mcpu regex to match hyphenated generic names, so RUN lines using -mtriple=amdgcn -mcpu=<generic> fold into the subarch triple.
Co-Authored-By: Claude <noreply at anthropic.com> (Claude-Opus-4.8)
utils/AMDGPU: Add test triple migration helper scripts
Add scripts to incrementally migrate AMDGPU lit tests from the
`-mtriple=amdgcn ... -mcpu=<gfx>` command-line form to the folded
sub-architecture triple form (e.g. -mtriple=amdgpu9.00-amd-amdhsa).
amdgpu-migrate-test-triples.py rewrites RUN lines, folding the -mcpu
subtarget into the triple subarch and dropping -mcpu. It is conservative:
only lines with a single plain gfx (or device-alias) -mcpu and a single
amdgcn -mtriple are touched. amdgpu-migrate-test-triples-batch.sh drives a
batch: rewrite, run lit, and revert any file that fails so only passing
migrations remain. A README documents usage.
Co-Authored-By: Claude <noreply at anthropic.com> (Claude-Opus-4.8)
utils/AMDGPU: Also migrate disabled RUN lines (XUN/xUN/RUNX)
Recognize commented-out RUN line variants (XUN:, xUN:, RUNX:) kept for future re-enabling, so their amdgcn triples are folded into the subarch form along with the active RUN lines.
Co-Authored-By: Claude <noreply at anthropic.com> (Claude-Opus-4.8)