FreeNAS/freenas 3b822eesrc/middlewared/middlewared/plugins/boot_environment crud.py __init__.py, tests README.md

boot.environment: replace zectl with the truenas_bootenv engine

The typesafe boot_environment plugin now calls the engine from the
truenas_pylibzfs truenas_bootenv package on the middleware
thread-local libzfs handle instead of shelling out to zectl. Mutations
serialize under an asyncio lock, the boot menu regenerates through
etc.generate('grub') behind a truenas:grub_pending marker that setup()
reconciles after a crash, activate rolls bootfs back when the menu
cannot be written, and the pool is synced afterwards so the menu
change is crash durable.

Re-activating the activated boot environment is allowed again as the
retry path after a failed menu regeneration; the api2 test asserting
the old rejection now asserts the retry succeeds. can_activate treats
a missing truenas:kernel_version as not activatable instead of only
the literal dash. The boot-time dataset promotion uses the engine
instead of parsing zfs list -j output.
DeltaFile
+202-88src/middlewared/middlewared/plugins/boot_environment/crud.py
+99-1src/middlewared/middlewared/plugins/boot_environment/__init__.py
+0-19src/middlewared/middlewared/plugins/boot_environment/utils.py
+4-5tests/api2/test_boot_environments.py
+4-5tests/README.md
+309-1185 files

LLVM/project d776249clang/include/clang/ScalableStaticAnalysis/Analyses/OperatorNewDelete OperatorNewDeletePointers.h, clang/include/clang/ScalableStaticAnalysis/Analyses/PinnedPointers PinnedPointers.h

[SSAF][NFC] Rename operator new/delete pointers analysis to pinned pointers

Other pointer entities, such as the pointer parameters of the main
function, must also retain their type during the clang-reforge
transformation. Since they are extracted and processed similarly,
combining them into a single analysis simplifies maintenance.
DeltaFile
+260-0clang/unittests/ScalableStaticAnalysis/Analyses/PinnedPointers/PinnedPointersExtractorTest.cpp
+0-260clang/unittests/ScalableStaticAnalysis/Analyses/OperatorNewDelete/OperatorNewDeletePointersExtractorTest.cpp
+0-258clang/lib/ScalableStaticAnalysis/Analyses/OperatorNewDelete/OperatorNewDeletePointers.cpp
+254-0clang/lib/ScalableStaticAnalysis/Analyses/PinnedPointers/PinnedPointers.cpp
+0-79clang/include/clang/ScalableStaticAnalysis/Analyses/OperatorNewDelete/OperatorNewDeletePointers.h
+76-0clang/include/clang/ScalableStaticAnalysis/Analyses/PinnedPointers/PinnedPointers.h
+590-59721 files not shown
+884-89127 files

LLVM/project b0627c0clang/include/clang/Basic DiagnosticSemaKinds.td, clang/lib/Sema SemaDecl.cpp

[HLSL] Reject unbounded resource array and noinline function resource parameters (#208111)

Fixes #180808.

This issue involved two bugs:
- `noinline` functions accepted resource parameters in the frontend,
which crashed the backend since valid DXIL cannot be generated for
resources passed across a function call. This change adds a new check in
`SemaDecl.cpp` that rejects resource parameters on `noinline` functions,
as well as a new `resource_params_noinline.hlsl` test.
- The check for incomplete resource array parameters queried the array's
element type to decide if it was a resource. When the parameter was the
first use of the resource type, the element was still incomplete and
wouldn't register as a resource, so the check would be skipped and the
compiler would later crash. This change fixes the check to now force
element completion with `isCompleteType` before querying the type, and
updates `unbounded_resource_arrays.hlsl` to test this.

This change also fixes the `unbounded_resource_arrays.hlsl` test in

    [4 lines not shown]
DeltaFile
+29-21clang/test/SemaHLSL/Resources/unbounded_resource_arrays.hlsl
+30-5clang/lib/Sema/SemaDecl.cpp
+20-0clang/test/SemaHLSL/Resources/resource_params_noinline.hlsl
+2-0clang/include/clang/Basic/DiagnosticSemaKinds.td
+81-264 files

LLVM/project 5006e14llvm/lib/MC ELFObjectWriter.cpp MachObjectWriter.cpp, llvm/test/MC/ELF size-expression-must-be-absolute.s

MC: Start some error messages with a lowercase

Also add a missing test for one of them.
DeltaFile
+6-0llvm/test/MC/ELF/size-expression-must-be-absolute.s
+1-1llvm/lib/MC/ELFObjectWriter.cpp
+1-1llvm/lib/MC/MachObjectWriter.cpp
+1-1llvm/test/MC/X86/check-end-of-data-region.s
+9-34 files

LLVM/project 0538275lldb/source/Target Target.cpp

[lldb] Don't add the same module to a target twice (#208472)

`Target::GetOrCreateModule` uses `Append`, so a module already in the
target could be added again. Then `RemoveModule` dropped only one,
keeping the module (and its memory-mapped file) alive.
On Windows that mapped file can't be deleted, causing
`TestReplaceDLL.py` to fail with `LLDB_USE_LLDB_SERVER=1`.

This patch uses `AppendIfNeeded` instead.

rdar://181797592
DeltaFile
+4-2lldb/source/Target/Target.cpp
+4-21 files

LLVM/project 3bdf536lldb/source/Plugins/SymbolFile/DWARF DWARFASTParserClang.cpp, lldb/unittests/SymbolFile/DWARF DWARFASTParserClangTests.cpp CMakeLists.txt

[lldb] Use `llvm::APInt` for `VariantMember` Discriminants (#188487)

resolves #177812 

It currently uses a `uint32_t` even though Rust can output 64- and
128-bit discriminants. This became a more obvious issue when Rust
started niche-optimizing based on the capacity of strings (which are
`NoHighBit` values, guaranteed to be less than `u64::MAX / 2`), rather
than the `NonNull` heap pointer. With this optimization, the `None`
variant of strings is 9223372036854775808, which LLDB truncates to 0.
This means whenever the capacity is 0 (e.g. `Some(String::new())`, LLDB
will mistakenly read it as the `None` variant. Additionally, when trying
to determine the `None` variant, lldb will read the discr from memory
correctly (9223372036854775808), and the visualizer scripts will compare
that to the value in the variant name (`$variant$0`), see that it
doesn't match, and incorrectly decides that it must not be the `None`
variant.

This patch simply swaps the `uint32_t` with an `llvm::APInt`. 

    [104 lines not shown]
DeltaFile
+871-0lldb/unittests/SymbolFile/DWARF/Inputs/DW_TAG_variant_rust-test.yaml
+38-6lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
+34-2lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp
+2-1lldb/unittests/SymbolFile/DWARF/CMakeLists.txt
+945-94 files

LLVM/project a1fcdd1clang/include/clang/ScalableStaticAnalysis/SourceTransformation SARIFTransformationReportFormat.h, clang/lib/ScalableStaticAnalysis/SourceTransformation SARIFTransformationReportFormat.cpp CMakeLists.txt

[clang][ssaf] Add SARIF transformation-report format (#208327)

Adds the built-in `TransformationReportFormat`, registered under the
file extension `sarif`. The writer drives clang's existing
`SarifDocumentWriter` (`clang/Basic/Sarif.h`) to produce a SARIF 2.1.0
JSON document. The tool driver name is `clang-ssaf`; the long `fullName`
carries the transformation's name.

Token-range `CharSourceRange`s are canonicalized to char ranges via
`clang::Lexer::getAsCharRange` before being attached to results; invalid
ranges (including default-constructed ones) are treated as "no location"
— the writer omits the result's `locations` key rather than fabricating
one. Source edits are not embedded in the report; the writer never emits
a `fix` or `fixes` key.

Anchored via `SSAFSARIFTransformationReportFormatAnchorSource` so static
builds keep the registration.

Assisted-By: Claude Opus 4.7
DeltaFile
+185-0clang/unittests/ScalableStaticAnalysis/SourceTransformation/SARIFFormatTest.cpp
+56-0clang/lib/ScalableStaticAnalysis/SourceTransformation/SARIFTransformationReportFormat.cpp
+50-0clang/include/clang/ScalableStaticAnalysis/SourceTransformation/SARIFTransformationReportFormat.h
+1-0clang/lib/ScalableStaticAnalysis/SourceTransformation/CMakeLists.txt
+1-0clang/unittests/ScalableStaticAnalysis/CMakeLists.txt
+293-05 files

LLVM/project 7ef8194llvm/lib/Transforms/Scalar Reassociate.cpp

[Reassociate] Compute value ranks iteratively (NFC) (#204952)

ReassociatePass::getRank recursively walks operand def-use chains before
memoizing ranks. For a very deep acyclic chain whose tail feeds a
reassociable operation, this can recurse once per chain element and
overflow the native stack.

Compute ranks with an explicit post-order worklist instead. The worklist
preserves the existing rank calculation and memoization behavior while
bounding native stack use.

Co-authored-by: Justin Fargnoli <jfargnoli at nvidia.com>
DeltaFile
+52-26llvm/lib/Transforms/Scalar/Reassociate.cpp
+52-261 files

FreeNAS/freenas aab1c31src/middlewared/middlewared/plugins/boot_ environments.py

boot.environment: replace zectl subprocess with truenas_bootenv engine

Proof of concept for testing alongside the truenas_pylibzfs
truenas_bootenv branch. The plugin calls the engine directly on the
middleware thread-local libzfs handle instead of shelling out to
zectl: mutations serialize under a module lock, the grub menu is
regenerated through etc.generate('grub') with a truenas:grub_pending
marker reconciled at startup after a crash, and the pool is synced so
the menu change is crash durable.

Based on the tree just before the boot_environment typesafe plugin
split; porting onto the new plugin layout is a known follow-up before
this can target master.
DeltaFile
+290-55src/middlewared/middlewared/plugins/boot_/environments.py
+290-551 files

LLVM/project aa6db49lldb/include/lldb/DataFormatters TypeCategory.h, lldb/source/Commands CommandObjectType.cpp

[lldb] Tighten interface for TypeCategoryImpl::AnyMatches (#208321)

The last 2 parameters are never actually used by any caller so they can
be removed. `only_enabled` defaults to `true` but all callers explicitly
set this to false. I removed that and rewrote the body to assume it will
always be false.
DeltaFile
+1-22lldb/source/DataFormatters/TypeCategory.cpp
+2-4lldb/source/Commands/CommandObjectType.cpp
+1-4lldb/include/lldb/DataFormatters/TypeCategory.h
+4-303 files

LLVM/project 87be708clang/include/clang/Basic BuiltinsAMDGPU.td, llvm/include/llvm/IR IntrinsicsAMDGPU.td

[AMDGPU] Guard more intrinsics with target features
DeltaFile
+1-51llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
+0-42llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+16-17llvm/lib/Target/AMDGPU/AMDGPU.td
+0-24llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
+15-2llvm/include/llvm/IR/IntrinsicsAMDGPU.td
+4-4clang/include/clang/Basic/BuiltinsAMDGPU.td
+36-14024 files not shown
+82-17630 files

LLVM/project 5b21ec3llvm/benchmarks writeToOutputInParallel.cpp CMakeLists.txt, llvm/lib/Support/Unix Signals.inc

[Support] Optimize signal handling file removal code (#173586)

clangd/clangd#1787 describes how LLVM's code for removing partially
written files when taking a fatal signal is slower than it should be.
This code was substantially rewritten by JF Bastien in
aa1333a91f8d8a060bcf5 to make it (more) signal-safe.

As written in 2018, the logic always allocates a new node for every file
we attempt to protect, and those nodes are added to a global singly
linked list and never removed. If you open a lot of output files,
suddenly output file opening becomes O(n^2), which is what happened
during clangd indexing.

Removing files on signals in a multi-threaded environment is really
complicated! We can use locks to synchronize between threads that are
writing to the list, but we cannot use locks to synchronize against
re-entrant signals, and we don't have any great tools for masking or
delaying things like SIGTERM. This makes it difficult to assert that we
have the one and only reference to a node, even after removing it from

    [18 lines not shown]
DeltaFile
+113-0llvm/benchmarks/writeToOutputInParallel.cpp
+51-25llvm/lib/Support/Unix/Signals.inc
+1-0llvm/benchmarks/CMakeLists.txt
+165-253 files

LLVM/project fdde3c0clang/test/SemaTemplate concepts-out-of-line-def.cpp

[Sema] Properly space namespace comments (#208561)

// namespace instead of //namespace.

This is consistent with the LLVM coding standards. We took focus on this
specific case as it was tripping up some of our internal tooling.
DeltaFile
+2-2clang/test/SemaTemplate/concepts-out-of-line-def.cpp
+2-21 files

OpenBSD/ports e8cL6fAnet/neatvnc distinfo Makefile

   net/neatvnc: Update to 1.0.1
VersionDeltaFile
1.2+2-2net/neatvnc/distinfo
1.3+1-2net/neatvnc/Makefile
+3-42 files

LLVM/project 91dcf93llvm/lib/CodeGen/GlobalISel IRTranslator.cpp, llvm/test/CodeGen/AMDGPU llvm.amdgcn.permlane16.swap.ll

[GISel] Don't return false when an intrinsic is not supported

This will abort immediately by default, which is not ideal.
DeltaFile
+1-1llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane16.swap.ll
+0-2llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
+1-32 files

LLVM/project ed907declang/lib/StaticAnalyzer/Checkers/WebKit RawPtrRefLambdaCapturesChecker.cpp, clang/test/Analysis/Checkers/WebKit unchecked-lambda-captures.cpp uncounted-lambda-captures.cpp

[alpha.webkit.UncheckedLambdaCapturesChecker] Split unchecked lambda capture checker (#201044)

Split alpha.webkit.UncheckedLambdaCapturesChecker off of
UncountedLambdaCapturesChecker, which currently checks for the use of
ref counted objects as well as CheckedPtr capable types unlike all other
WebKit checkers, which only check for one type of smart pointers.

Also improve the wording of the warning text so that it can be easily
extended to support checking for the lambda capturing of raw pointers
and references to CheckedPtr/CheckedRef.
DeltaFile
+533-0clang/test/Analysis/Checkers/WebKit/unchecked-lambda-captures.cpp
+25-216clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
+192-16clang/test/Analysis/Checkers/WebKit/mock-types.h
+26-128clang/test/Analysis/Checkers/WebKit/unretained-lambda-captures.mm
+102-30clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
+0-19clang/test/Analysis/Checkers/WebKit/call-args-wtf-containers.cpp
+878-4094 files not shown
+908-41810 files

FreeBSD/ports 7185635devel/perfetto/files patch-examples_freebsd_power.c patch-examples_dtrace_dtrace__probe.c

devel/perfetto: update to 57.2

* All freebsd-specific patches have been vendored in from
  https://codeberg.org/tj/perfetto/src/branch/v54.0-freebsd-ports
* Non-upstreamed FreeBSD-specific binaries have a "perfetto_" prefix
  added to them to avoid conflict with other ports
DeltaFile
+497-0devel/perfetto/files/patch-examples_freebsd_power.c
+416-0devel/perfetto/files/patch-examples_dtrace_dtrace__probe.c
+309-0devel/perfetto/files/patch-examples_freebsd_freebsd__sys__stats__cpu.c
+155-0devel/perfetto/files/patch-examples_freebsd_freebsd__sys__stats__disk.c
+99-0devel/perfetto/files/patch-examples_freebsd_freebsd__sys__stats.c
+83-0devel/perfetto/files/patch-examples_freebsd_freebsd__sys__stats__intr.c
+1,559-014 files not shown
+1,922-3520 files

OpenBSD/ports BzoQXmcx11/tigervnc Makefile

   add BDEP on gtest, found by naddy
VersionDeltaFile
1.35+2-1x11/tigervnc/Makefile
+2-11 files

LLVM/project 337cf8e.forgejo/workflows docs.yml

ci: add llvmdocs forgejo workflow
DeltaFile
+52-0.forgejo/workflows/docs.yml
+52-01 files

LLVM/project d7f5834libc/docs full_host_build.rst, libc/docs/dev code_style.rst code_style.md

[docs] Merge Markdown migration branches
DeltaFile
+0-411libc/docs/dev/code_style.rst
+400-0libc/docs/dev/code_style.md
+0-351libc/docs/dev/builtin_compatibility.rst
+0-260libc/docs/dev/printf_behavior.rst
+253-0libc/docs/dev/printf_behavior.md
+0-253libc/docs/full_host_build.rst
+653-1,27553 files not shown
+3,380-3,68759 files

LLVM/project 85fbc03libc/docs full_host_build.md full_cross_build.md, libc/docs/dev builtin_compatibility.md code_style.md

[docs] Convert selected rst docs with rst2myst
DeltaFile
+176-345libc/docs/dev/builtin_compatibility.md
+207-217libc/docs/dev/code_style.md
+156-163libc/docs/full_host_build.md
+134-143libc/docs/full_cross_build.md
+88-91libc/docs/dev/undefined_behavior.md
+84-88libc/docs/talks.md
+845-1,04723 files not shown
+1,807-2,10329 files

LLVM/project c0e2726libc/docs hand_in_hand.md full_host_build.md, libc/docs/dev undefined_behavior.md printf_behavior.md

[docs] Finish MyST migration for selected docs
DeltaFile
+17-18libc/docs/dev/undefined_behavior.md
+15-13libc/docs/hand_in_hand.md
+13-14libc/docs/dev/printf_behavior.md
+13-8libc/docs/full_host_build.md
+7-8libc/docs/build_and_test.md
+7-8libc/docs/dev/building_docs.md
+72-6921 files not shown
+119-13027 files

LLVM/project 20338d8libc/docs/dev code_style.rst code_style.md

[docs] Rename selected libc docs to Markdown
DeltaFile
+0-411libc/docs/dev/code_style.rst
+411-0libc/docs/dev/code_style.md
+351-0libc/docs/dev/builtin_compatibility.md
+0-351libc/docs/dev/builtin_compatibility.rst
+260-0libc/docs/dev/printf_behavior.md
+0-260libc/docs/dev/printf_behavior.rst
+1,022-1,02252 files not shown
+3,687-3,68758 files

LLVM/project 01fda94llvm/docs NVPTXUsage.rst NVPTXUsage.md

[docs] Rename selected LLVM docs to Markdown
DeltaFile
+0-4,767llvm/docs/NVPTXUsage.rst
+4,767-0llvm/docs/NVPTXUsage.md
+1,177-0llvm/docs/JITLink.md
+0-1,177llvm/docs/JITLink.rst
+974-0llvm/docs/ORCv2.md
+0-974llvm/docs/ORCv2.rst
+6,918-6,91832 files not shown
+13,451-13,45138 files

LLVM/project 60ec29fllvm/docs ORCv2.md Remarks.md

[docs] Finish MyST migration for selected docs
DeltaFile
+262-272llvm/docs/ORCv2.md
+218-236llvm/docs/Remarks.md
+208-157llvm/docs/AMDGPUExecutionSynchronization.md
+128-120llvm/docs/SPIRVUsage.md
+78-101llvm/docs/NVPTXUsage.md
+57-56llvm/docs/CompileCudaWithLLVM.md
+951-94211 files not shown
+1,106-1,07817 files

LLVM/project e2b320allvm/docs NVPTXUsage.md JITLink.md

[docs] Convert selected rst docs with rst2myst
DeltaFile
+2,408-2,922llvm/docs/NVPTXUsage.md
+509-575llvm/docs/JITLink.md
+475-496llvm/docs/ORCv2.md
+469-488llvm/docs/Instrumentor.md
+356-333llvm/docs/Remarks.md
+313-346llvm/docs/HowToUpdateDebugInfo.md
+4,530-5,16013 files not shown
+6,592-7,31719 files

LLVM/project 75b5fadllvm/include/llvm/IR IntrinsicsAMDGPU.td, llvm/lib/Target/AMDGPU AMDGPUInstructionSelector.cpp SIISelLowering.cpp

[AMDGPU] Guard more intrinsics with target features
DeltaFile
+1-51llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
+0-42llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+16-17llvm/lib/Target/AMDGPU/AMDGPU.td
+0-24llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
+15-2llvm/include/llvm/IR/IntrinsicsAMDGPU.td
+4-4llvm/test/CodeGen/AMDGPU/unsupported-av-load.ll
+36-14024 files not shown
+90-18430 files

FreeBSD/ports 91109f5editors/vscode pkg-plist distinfo, editors/vscode/files patch-build_lib_preLaunch.ts patch-node__modules_playwright_node__modules_playwright-core_lib_server_registry_index.js

editors/vscode: Update to 1.128.0

Changelog: https://code.visualstudio.com/updates/v1_128

Reported by:    GitHub (watch releases)
DeltaFile
+1,670-86editors/vscode/pkg-plist
+467-443editors/vscode/distinfo
+229-217editors/vscode/Makefile.crates
+25-5editors/vscode/files/patch-build_lib_preLaunch.ts
+0-11editors/vscode/files/patch-node__modules_playwright_node__modules_playwright-core_lib_server_registry_index.js
+11-0editors/vscode/files/patch-node__modules_playwright_node__modules_playwright-core_lib_serverRegistry.js
+2,402-7625 files not shown
+2,418-78011 files

LLVM/project 4ccb701mlir/lib/Transforms RemoveDeadValues.cpp

[mlir][RemoveDeadValues] Use `SymbolUserMap` to avoid quadratic symbol lookups (#205448)

`processFuncOp` previously called `funcOp.getSymbolUses(module)` for
every function, which walks the entire module to find that function's
callers. Since `processFuncOp` runs once per function, the pass was
effectively *O(numFunctions * numOperations)*.

Build a `SymbolUserMap` once up front in `runOnOperation()` and look up
each function's callers in *O(1)*, making the collection phase linear in
the size of the module.

This is behavior-preserving: the map is read only during the
mutation-free collection walk, and all IR erasure happens afterwards in
`cleanUpDeadVals`, so the map cannot become stale while it is in use.

---

**Note:** AI used to generate part of the code in this PR.


    [2 lines not shown]
DeltaFile
+16-13mlir/lib/Transforms/RemoveDeadValues.cpp
+16-131 files

LLVM/project 45f9445lldb/bindings/interface SBValueDocstrings.i

Fix typo (#208560)
DeltaFile
+1-1lldb/bindings/interface/SBValueDocstrings.i
+1-11 files