LLVM/project ed63780clang/lib/CodeGen CGCall.cpp CGCall.h, clang/test/CodeGen stack-usage-lifetimes.c lifetime-invoke-c.c

[clang] Use tighter lifetime bounds for C temporary arguments

In C, consecutive statements in the same scope are under
CompoundStmt/CallExpr, while in C++ they typically fall under
CompoundStmt/ExprWithCleanup. This leads to different behavior with
respect to where pushFullExprCleanUp inserts the lifetime end markers
(e.g., at the end of scope).

For these cases, we can track and insert the lifetime end markers right
after the call completes. Allowing the stack space to be reused
immediately. This partially addresses #109204 and #43598 for improving
stack usage.
DeltaFile
+89-0clang/test/CodeGen/stack-usage-lifetimes.c
+29-19clang/test/CodeGen/lifetime-invoke-c.c
+20-6clang/lib/CodeGen/CGCall.cpp
+12-12clang/test/CodeGenCXX/aggregate-lifetime-invoke.cpp
+15-5clang/test/CodeGen/lifetime-bug.cpp
+19-0clang/lib/CodeGen/CGCall.h
+184-422 files not shown
+186-448 files

LLVM/project 1f9be2bclang/lib/AST ExprConstant.cpp, clang/lib/Sema SemaExprCXX.cpp

Use setExprNeedsCleanups in BuildCXXNew and avoid breaking c++98

This approach is much cleaner, but broke checkICE reporting in c++98.
Stepping through a debugger shows that this happend because the
static_assert test didn not recognize ExprWithCleanups as transparent to
constant evaluation. To addresse this, we update CheckICE to recurse
into the sub-expression, and keep the old behavior.
DeltaFile
+1-15clang/lib/Sema/SemaExprCXX.cpp
+4-1clang/lib/AST/ExprConstant.cpp
+5-162 files

LLVM/project a9ea799clang/test/CodeGen lifetime-bug-2.cpp

Save test for conflicting cleanups
DeltaFile
+8-2clang/test/CodeGen/lifetime-bug-2.cpp
+8-21 files

LLVM/project 57cc6fcclang/lib/CodeGen CGCall.cpp CGCall.h, clang/test/CodeGen lifetime-invoke-c.c lifetime-bug.cpp

Try to control the scope
DeltaFile
+21-3clang/lib/CodeGen/CGCall.cpp
+16-3clang/lib/CodeGen/CGCall.h
+7-9clang/test/CodeGen/lifetime-invoke-c.c
+1-9clang/test/CodeGen/lifetime-bug.cpp
+4-4clang/test/CodeGenCXX/aggregate-lifetime-invoke.cpp
+49-285 files

LLVM/project 66bee4eclang/lib/AST ExprConstant.cpp

Use more restrictive condition for adding ExprWithCleanups
DeltaFile
+1-4clang/lib/AST/ExprConstant.cpp
+1-41 files

LLVM/project c18baf7clang/lib/CodeGen CGCall.cpp, clang/lib/Sema SemaExprCXX.cpp

[clang] Use uniform lifetime bounds under exceptions

To do this we have to slightly modify how some expressions are handled
in Sema. Principally, we need to ensure that calls to new for
non-trivial types still have their destructors run. Generally this isn't
an issue, since these just get sunk into the surrounding scope. With
more lifetime annotations being produced for the expressions, we found
that some calls to `new` in an unreachable switch arm would not be
wrapped in ExprWithCleanups. As a result, they remain on the EhStack
when processing the default label, and since the dead arm doesn't
dominate the default label, we can end up with a case where the def-use
chain is broken (e.g. the def doesn't dominate all uses). Technically
this path would be impossible to reach due to the active bit, but it
still failed to satisfy a dominance relationship.

With that in place, we can remove the constraint on only using tighter
lifetimes when exceptions are disabled.
DeltaFile
+36-0clang/test/CodeGenCXX/aggregate-lifetime-invoke.cpp
+15-1clang/lib/Sema/SemaExprCXX.cpp
+2-4clang/lib/CodeGen/CGCall.cpp
+53-53 files

LLVM/project 05360a2clang-tools-extra/clang-tidy/bugprone SmartPtrArrayMismatchCheck.cpp, clang-tools-extra/clang-tidy/cppcoreguidelines OwningMemoryCheck.cpp

clang-format
DeltaFile
+16-15clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp
+11-11clang-tools-extra/clang-tidy/bugprone/SmartPtrArrayMismatchCheck.cpp
+2-1clang-tools-extra/clang-tidy/cppcoreguidelines/OwningMemoryCheck.cpp
+29-273 files

LLVM/project b8a3539clang/lib/CodeGen CGCall.cpp CGCall.h, clang/test/CodeGen lifetime-invoke-c.c lifetime-bug.cpp

Try to control the scope
DeltaFile
+21-3clang/lib/CodeGen/CGCall.cpp
+16-3clang/lib/CodeGen/CGCall.h
+7-9clang/test/CodeGen/lifetime-invoke-c.c
+1-9clang/test/CodeGen/lifetime-bug.cpp
+4-4clang/test/CodeGenCXX/aggregate-lifetime-invoke.cpp
+49-285 files

LLVM/project 5675c1aclang/lib/CodeGen CGCall.cpp CGCall.h, clang/test/CodeGen stack-usage-lifetimes.c lifetime-invoke-c.c

[clang] Use tighter lifetime bounds for C temporary arguments

In C, consecutive statements in the same scope are under
CompoundStmt/CallExpr, while in C++ they typically fall under
CompoundStmt/ExprWithCleanup. This leads to different behavior with
respect to where pushFullExprCleanUp inserts the lifetime end markers
(e.g., at the end of scope).

For these cases, we can track and insert the lifetime end markers right
after the call completes. Allowing the stack space to be reused
immediately. This partially addresses #109204 and #43598 for improving
stack usage.
DeltaFile
+89-0clang/test/CodeGen/stack-usage-lifetimes.c
+29-19clang/test/CodeGen/lifetime-invoke-c.c
+20-6clang/lib/CodeGen/CGCall.cpp
+12-12clang/test/CodeGenCXX/aggregate-lifetime-invoke.cpp
+15-5clang/test/CodeGen/lifetime-bug.cpp
+19-0clang/lib/CodeGen/CGCall.h
+184-422 files not shown
+186-448 files

LLVM/project 0dad12dclang/lib/AST ExprConstant.cpp

Use more restrictive condition for adding ExprWithCleanups
DeltaFile
+1-4clang/lib/AST/ExprConstant.cpp
+1-41 files

LLVM/project a8d3a1aclang/lib/AST ExprConstant.cpp, clang/lib/Sema SemaExprCXX.cpp

Use setExprNeedsCleanups in BuildCXXNew and avoid breaking c++98

This approach is much cleaner, but broke checkICE reporting in c++98.
Stepping through a debugger shows that this happend because the
static_assert test didn not recognize ExprWithCleanups as transparent to
constant evaluation. To addresse this, we update CheckICE to recurse
into the sub-expression, and keep the old behavior.
DeltaFile
+1-15clang/lib/Sema/SemaExprCXX.cpp
+4-1clang/lib/AST/ExprConstant.cpp
+5-162 files

LLVM/project af790c0clang/test/CodeGen lifetime-bug-2.cpp

Save test for conflicting cleanups
DeltaFile
+8-2clang/test/CodeGen/lifetime-bug-2.cpp
+8-21 files

LLVM/project d65c56bclang/lib/CodeGen CGCall.cpp, clang/lib/Sema SemaExprCXX.cpp

[clang] Use uniform lifetime bounds under exceptions

To do this we have to slightly modify how some expressions are handled
in Sema. Principally, we need to ensure that calls to new for
non-trivial types still have their destructors run. Generally this isn't
an issue, since these just get sunk into the surrounding scope. With
more lifetime annotations being produced for the expressions, we found
that some calls to `new` in an unreachable switch arm would not be
wrapped in ExprWithCleanups. As a result, they remain on the EhStack
when processing the default label, and since the dead arm doesn't
dominate the default label, we can end up with a case where the def-use
chain is broken (e.g. the def doesn't dominate all uses). Technically
this path would be impossible to reach due to the active bit, but it
still failed to satisfy a dominance relationship.

With that in place, we can remove the constraint on only using tighter
lifetimes when exceptions are disabled.
DeltaFile
+36-0clang/test/CodeGenCXX/aggregate-lifetime-invoke.cpp
+15-1clang/lib/Sema/SemaExprCXX.cpp
+2-4clang/lib/CodeGen/CGCall.cpp
+53-53 files

LLVM/project 9cc15f8clang-tools-extra/clang-tidy/bugprone SmartPtrArrayMismatchCheck.cpp, clang-tools-extra/clang-tidy/cppcoreguidelines OwningMemoryCheck.cpp

Fix tidy checks
DeltaFile
+14-8clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp
+12-9clang-tools-extra/clang-tidy/bugprone/SmartPtrArrayMismatchCheck.cpp
+16-0clang-tools-extra/clang-tidy/utils/Matchers.h
+6-4clang-tools-extra/clang-tidy/cppcoreguidelines/OwningMemoryCheck.cpp
+48-214 files

FreeNAS/freenas e48b27fsrc/middlewared/middlewared/plugins/system debug.py

Pass caller privilege context to debug generation for correct job visibility
DeltaFile
+17-4src/middlewared/middlewared/plugins/system/debug.py
+17-41 files

FreeNAS/freenas c64729asrc/middlewared/middlewared/etc_files systemd.py, src/middlewared/middlewared/plugins nfs.py

NFS: prevent boot-time service failures before system dataset is available

nfs-server and its dependencies (nfs-mountd, nfsdcld, rpc-statd) fail
at boot when the system dataset (/var/db/system/nfs) is not yet mounted.
The system dataset lives on the data pool which is imported by middleware
after boot, but systemd auto-starts nfs-server (it's enabled) before
middleware runs.

Keep nfs-server disabled in systemd so it never auto-starts at boot.
Since nfs-server doesn't start, its dependency chain (nfs-mountd,
nfsdcld, rpc-statd, nfs-idmapd) is not pulled in either — eliminating
all boot-time NFS failures.

Middleware already manages NFS lifecycle explicitly:
- HA: failover event handler calls restart_services() after pool import
- Non-HA: pool_post_import hook now starts NFS if enabled but not running

systemctl start/restart works on disabled services, so all existing
middleware service management (service.start, service.restart,

    [6 lines not shown]
DeltaFile
+12-0src/middlewared/middlewared/etc_files/systemd.py
+7-1src/middlewared/middlewared/plugins/nfs.py
+19-12 files

NetBSD/pkgsrc 9we20Mdprint Makefile, print/tex-lineno-doc Makefile PLIST

   tex-lineno-doc: add version 5.9 documentation for tex-lineno
VersionDeltaFile
1.1+13-0print/tex-lineno-doc/Makefile
1.1+13-0print/tex-lineno-doc/PLIST
1.1+5-0print/tex-lineno-doc/distinfo
1.961+2-1print/Makefile
1.1+1-0print/tex-lineno-doc/DESCR
+34-15 files

NetBSD/pkgsrc klBY2Qkdevel Makefile, devel/tex-l3experimental distinfo Makefile

   tex-l3experimental{,-doc}: update to 2026

   - Track `expl3` core changes
   - `xgalley`: no longer distributed
VersionDeltaFile
1.1+13-0devel/tex-l3experimental-doc/Makefile
1.1+7-0devel/tex-l3experimental-doc/PLIST
1.26+3-3devel/tex-l3experimental/distinfo
1.1+5-0devel/tex-l3experimental-doc/distinfo
1.24+2-2devel/tex-l3experimental/Makefile
1.4605+2-1devel/Makefile
+32-63 files not shown
+34-109 files

NetBSD/pkgsrc ZUP5ppedevel/tex-l3kernel distinfo Makefile, devel/tex-l3kernel-doc distinfo Makefile

   tex-l3kernel{,-doc}: update to 2026

   ## [2026-03-20]

   ### Added
   - `en`-type variants of `\text_...case:nn`

   ### Changed
   - Adjust internal expansion in case functions to support `biblatex`
     (transitional measure)

   ## [2026-03-16]

   ### Added
   - `\box_(g)frame:Nnn` and `\box_(g)underline:Nnn`
   - `\vbox:w`, `\vbox_top:w`, `\vbox_center:w` and their `:nw` and
     `_to_ht:nw` versions
   - Debugging switch `check-assertions`, `\debug_assert:nN(n)`, and
     `\debug_assert:nn(n)` (issue \#1840)

    [20 lines not shown]
VersionDeltaFile
1.30+3-3devel/tex-l3kernel/distinfo
1.30+3-3devel/tex-l3kernel-doc/distinfo
1.29+2-2devel/tex-l3kernel/Makefile
1.28+2-2devel/tex-l3kernel-doc/Makefile
+10-104 files

NetBSD/pkgsrc ik1jRwsdevel/tex-l3backend distinfo Makefile, devel/tex-l3backend-doc distinfo Makefile

   tex-l3backend{,-doc}: update to 2026

   - Track `expl3` core changes
   - Opacity support to allow non-grouped versions
VersionDeltaFile
1.16+3-3devel/tex-l3backend-doc/distinfo
1.16+3-3devel/tex-l3backend/distinfo
1.15+2-2devel/tex-l3backend/Makefile
1.15+2-2devel/tex-l3backend-doc/Makefile
+10-104 files

LLVM/project 7084f18llvm/lib/Target/AMDGPU FLATInstructions.td, llvm/test/CodeGen/AMDGPU flat-saddr-store.ll llvm.amdgcn.cvt.sat.pk.ll

[AMDGPU] Fix i16/i8 flat store in true16 with sramecc (#190238)

The pattern was guarded by the D16PreservesUnusedBits predicate
which is not needed for stores.
DeltaFile
+43-12llvm/test/CodeGen/AMDGPU/flat-saddr-store.ll
+4-4llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.sat.pk.ll
+1-1llvm/lib/Target/AMDGPU/FLATInstructions.td
+48-173 files

NetBSD/pkgsrc UjEnPEOfonts/tex-fontools distinfo Makefile, fonts/tex-fontools-doc Makefile distinfo

   tex-fontools{,-doc}: update to 2026.78567

   Autoinst now correctly handles font families whose “Extra Light”
   weight is called “ExtLight”.
VersionDeltaFile
1.24+3-3fonts/tex-fontools/distinfo
1.26+3-3fonts/tex-fontools-doc/Makefile
1.24+3-3fonts/tex-fontools-doc/distinfo
1.29+2-2fonts/tex-fontools/Makefile
+11-114 files

NetBSD/pkgsrc 7UZp10Oprint/tex-bxcjkjatype distinfo Makefile, print/tex-bxcjkjatype-doc distinfo Makefile

   tex-bxcjkjatype{,-doc}: update to 0.5a

   changes unknown
VersionDeltaFile
1.5+3-3print/tex-bxcjkjatype/distinfo
1.5+3-3print/tex-bxcjkjatype-doc/distinfo
1.3+2-2print/tex-bxcjkjatype/Makefile
1.3+2-2print/tex-bxcjkjatype-doc/Makefile
1.2+1-0print/tex-bxcjkjatype/PLIST
+11-105 files

FreeBSD/ports 336508awww Makefile, www/mcp-server-browserbase pkg-plist Makefile

www/mcp-server-browserbase: New port: MCP server allowing LLMs control browser with Browserbase, Stagehand
DeltaFile
+15,858-0www/mcp-server-browserbase/pkg-plist
+4,186-0www/mcp-server-browserbase/files/package-lock.json
+52-0www/mcp-server-browserbase/Makefile
+7-0www/mcp-server-browserbase/pkg-descr
+3-0www/mcp-server-browserbase/distinfo
+1-0www/Makefile
+20,107-06 files

FreeBSD/ports 213abedfilesystems Makefile, filesystems/mcp-server-filesystem pkg-plist Makefile

filesystems/mcp-server-filesystem: New port: Filesystem MCP Server
DeltaFile
+4,026-0filesystems/mcp-server-filesystem/pkg-plist
+1,607-0filesystems/mcp-server-filesystem/files/package-lock.json
+52-0filesystems/mcp-server-filesystem/Makefile
+4-0filesystems/mcp-server-filesystem/pkg-descr
+3-0filesystems/mcp-server-filesystem/distinfo
+1-0filesystems/Makefile
+5,693-06 files

LLVM/project 935f21ellvm/utils/gn/secondary/llvm/lib/Transforms/Vectorize BUILD.gn

gn build: Port d8e9e0af1cb6



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/190290
DeltaFile
+1-0llvm/utils/gn/secondary/llvm/lib/Transforms/Vectorize/BUILD.gn
+1-01 files

NetBSD/src r4ZhAalsys/arch/amiga/include pci_machdep.h

   Remove unnecessary extern decl.
VersionDeltaFile
1.9+1-3sys/arch/amiga/include/pci_machdep.h
+1-31 files

OpenBSD/src 8BtvI1Rusr.sbin/npppd/npppd parse.y

   Fix a memory leak in handling radius configuration.  Diff from iij.
VersionDeltaFile
1.33+2-2usr.sbin/npppd/npppd/parse.y
+2-21 files

LLVM/project f20b40ellvm/utils/gn/secondary/clang/lib/Options BUILD.gn

gn build: Port f63d33da0a51 more



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/190289
DeltaFile
+1-0llvm/utils/gn/secondary/clang/lib/Options/BUILD.gn
+1-01 files

HardenedBSD/src 71ba188lib/libsys mq_open.2, release/packages/ucl kyua-all.ucl ncurses-all.ucl

Merge remote-tracking branch 'origin/hardened/current/master' into hardened/current/cross-dso-cfi
DeltaFile
+29-31release/packages/ucl/kyua-all.ucl
+24-2release/packages/ucl/ncurses-all.ucl
+22-1lib/libsys/mq_open.2
+1-1sbin/tunefs/tunefs.c
+76-354 files