[llvm-readobj][docs] Update the --stack-sizes description
The description said that --stack-sizes is only implemented for GNU
style output, which hasn't been the case for a while. Describe the LLVM
and JSON output instead, including the address that each entry in a
linked file now has.
Assisted-by: Gemini
[lld][MachO] Address review: use --no-leading-headers in cstring-dedup.s
Instead of running llvm-objdump from inside %t, pass --no-leading-headers
so the output file's path isn't printed. That also suppresses the
"Contents of (__TEXT,__cstring) section" line, so drop that STR check;
--section already restricts the output to __cstring.
Assisted-by: Claude Opus 5.5
[clang][OpenMP][NFC] Anchor "bar" CHECK-LABELs on the function definition (#232628)
ordered_doacross_codegen.cpp and parallel_for_simd_codegen.cpp use a
bare "bar" as a CHECK-LABEL. That also matches the ModuleID and
source_filename lines when the source path contains "bar" (e.g. a home
directory like /home/isanbard), which splits the input at the wrong
place and makes the tests fail. Match the define of @_Z3barv instead.
Assisted-by: Claude Opus 5.5
[BoundsSafety][NFC] Add counted_by type-shape validation helper (#227774)
This is groundwork for properly supporting late parsing of counted_by as
a type attribute, following the direction set in #223267, which allows a
CountAttributedType's count to be filled in later.
Under that model, counted_by diagnostics are split into two phases:
- When the type is built, we check only what the type itself can tell
us, e.g., whether it is a pointer or array
- During late parsing, once the relevant scope is complete (e.g., the
end of a struct definition), we check the declaration the attribute is
attached to and resolve the count expression.
This PR adds the shared validation for the phase 1. It covers
counted_by, sized_by and their _or_null variants, preparing eager and
late-parsed type-attribute handling to use the same checks across
declaration contexts.
`Sema::ValidateBoundsAttrTypeShape`checks pointer or array shape and
[17 lines not shown]
CodeGen: Read the exception model from the module flag
Module::getExceptionModel() now falls back to the triple's default
model instead of falling back to the TargetMachine.
The pass pipeline is built before the module is known, so schedule each
EH preparation pass when the target supports a model, and let the pass
check the module's model. Add TargetMachine::supportsExceptionModel so
the pass config can skip definitely irrelevant passes. SjLjEHPrepare is
now scheduled on every target with exception handling, and WinEHPrepare
only on COFF and Wasm targets. WinEHPrepare and WasmEHPrepare are
scheduled for Wasm by the base pass configs, replacing the WebAssembly
override.
This is almost the last step towards removing TargetOptions::ExceptionModel.
Co-authored-by: Claude Opus <noreply at anthropic.com>
[lldb] Rename common register metadata providers (#232566)
These files are not specific to POSIX. For example, Windows plugins use
these as RegisterInfoInterface while Darwin does not make use of these
even though it is a POSIX-compliant OS.
Update wineh-empty-seh-scope.ll for the Windows trap change
An unreachable that does not follow a call no longer traps, so the empty
function gets the generic zero-length function nop, as on X86.
AArch64: Move the Windows trap after noreturn calls into the AsmPrinter
With Windows unwind info, the unwinder finds the function or funclet
for a frame from its return address, so a call must not be the last
instruction of one.
This was hackily handled by overwriting TrapUnreachable in the
TargetMachine constructor which inserts traps after every
unreachable. X86 handles the same problem by padding calls in the
AsmPrinter, so do the same here: emit a trap only after a noreturn
call that would end a function or funclet. This addresses the FIXME
about eliding the trap when the next instruction is in the same
region, so noreturn calls in the middle of a function no longer get a
trap.
This removes one of the last obstacles to removing ExceptionModel from
TargetOptions.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
[scudo] Avoid QuarantineBatch leak in GlobalQuarantineRecycleInvalidCount (#232905)
In GlobalQuarantineRecycleInvalidCount,
Quarantine.drainAndRecycle(&Cache, Cb)
dequeues B from Cache before hitting the CHECK failure on B->Count. On
platforms where death tests execute in a thread within the same address
space
(such as Fuchsia zxtest), Cache is already empty after
SCUDO_EXPECT_DEATH
returns, so deallocateCache(&Cache) fails to free B and triggers a
LeakSanitizer failure.
Deallocate B directly via Cb.deallocate(B) instead.
Attributor: Don't crash on indirect calls in AAInvariantLoadPointer (#231519)
AAInvariantLoadPointerCallSiteReturned assumed every call has a known
callee, and dereferenced the missing function of an indirect call. This
crashed on most of CTMark with -attributor-enable=full. Nothing is known
about the result of an indirect call, so give up on it.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
[OpenMP][flang] Score unknown context selector properties by selector
Flang records an unknown property such as kind(bogus) or vendor(bogus)
as TraitProperty::invalid, which belongs to no selector. Under
match_any or match_none, where such a variant can still be selected,
the property therefore lost its selector's weight: kind(bogus) added
nothing, while an unmatched kind(gpu) adds 2^l. A score on a selector
that mixes known and unknown properties was also added twice, once for
the known property and once for invalid, and unknown properties in
different selectors shared a single score.
Add VariantMatchInfo::addUnknownTrait, which keeps the property
unmatched and records its selector and score, and score that selector
like any other. Use it in Flang. Clang drops unknown properties while
parsing and is unaffected.
Assisted-by: GitHub Copilot (Claude Opus 5.5)
devel/R-cran-pkgdepends: Add compiles to USES:cran
This port compiles so add compiles to USES=cran and remove unneeded
NO_ARCH_IGNORE.
Let's bump it as a just in case.
Inspired by: baebf92d1acf ("devel/R-cran-pbapply, math/R-cran-metadat: Remove redundant NO_ARCH")
MFH: 2026Q4
graphics/imv: Update to 5.0.1
- FreeImage backend was removed upstream; BMP and WebP support
now come from the new NSBMP and WEBP options (on by default)
- Add new options: FF (farbfeld), JXL (on by default), NSBMP, WEBP
- NSGIF is no longer broken
- Disable the QOI backend (not ported)
- Drop ICU linking patch, fixed upstream (now uses icu-uc)
- Rename the sample config in post-install instead of patching meson.build
Changelog: https://git.sr.ht/~exec64/imv/tree/master/item/CHANGELOG
PR: 299377
MFH: 2026Q4
[VPlan] Derive extend kind and types in canFoldOuterExtendIntoMul (NFC) (#232903)
Look up the inner extends from the operands of the mul instead of
passing the extend kind and source types separately. A non-extend RHS is
a constant that fits in the source type of the LHS.
Both callers already require the inner extends to have the same kind as
the outer extend, so using the inner kind does not change behavior.