LLVM/project 18f9e62 — llvm/lib/Target/NVPTX NVPTXInstrInfo.td NVPTXISelLowering.cpp, llvm/test/CodeGen/NVPTX convert-fptrunc-round.ll

[NVPTX] Implement llvm.fptrunc.round intrinsic (#223720)

This patch implements hardware-dependent selection for
`llvm.fptrunc.round`.
`round.tonearest` mode is canonicalized to `fpround`, and so is
supported on all
hardware. Other rounding modes are conditionally supported depending on
the SM
and PTX version e.g. bf16 support requires sm80 for rz and sm90 for rm
or rp.

This also adds direct conversions between bfloat and half, e.g.
```
llvm.fptrunc.round.f16.f32 (fpextend x), "round.down"
```
will select `cvt.rm.f16.bf16` on sm90+, or emit a diagnostic.

Assisted-by: GPT-6 Astra
DeltaFile
+747-0llvm/test/CodeGen/NVPTX/convert-fptrunc-round.ll
+40-0llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
+37-0llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
+824-03 files

FreeBSD/ports 5e2490d — www/newsraft pkg-plist Makefile

www/newsraft: Update to 0.38

Changelog: https://codeberg.org/newsraft/newsraft/releases/tag/newsraft-0.38
DeltaFile
+3-3www/newsraft/distinfo
+1-2www/newsraft/Makefile
+1-0www/newsraft/pkg-plist
+5-53 files

LLVM/project 36a85fc — llvm/utils/gn/secondary/clang/lib/CodeGenUtils BUILD.gn

[gn build] Port 5143204f8144 (#229505)
DeltaFile
+1-0llvm/utils/gn/secondary/clang/lib/CodeGenUtils/BUILD.gn
+1-01 files

LLVM/project 1ba2b22 — llvm/lib/Target/X86 X86TargetTransformInfo.cpp, llvm/test/Analysis/CostModel/X86 select.ll masked-intrinsic-cost-inseltpoison.ll

[X86][CostModel] Price predicate mask-expansion fanout for wide predicated ops (#201666)

Teach the X86 TTI cost model to price the *predicate mask-expansion
fanout* of wide predicated operations. When a masked memory op,
gather/scatter, or select produces its predicate as a compact `<N x i1>`
but the data type legalizes into more register parts than that
predicate, codegen must materialize a sub-mask for every extra data part
— a `kshiftr` out of the k-register on AVX-512, or a vector
unpack/sign-extend on SSE/AVX. The per-part cost tables price these ops
linearly in data parts and miss this fanout.
DeltaFile
+199-54llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost.ll
+54-54llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost-inseltpoison.ll
+57-16llvm/lib/Target/X86/X86TargetTransformInfo.cpp
+53-10llvm/test/Analysis/CostModel/X86/select.ll
+48-10llvm/test/Transforms/SLPVectorizer/X86/pr47629.ll
+48-10llvm/test/Transforms/SLPVectorizer/X86/pr47629-inseltpoison.ll
+459-15414 files not shown
+564-23420 files

LLVM/project aa1aee3 — llvm/test/CodeGen/AMDGPU amdgcn.bitcast.768bit.ll amdgcn.bitcast.832bit.ll

Merge branch 'main' into users/arsenm/runtime-libcalls/calling-convention-in-library-call-functions
DeltaFile
+89,260-108,447llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+26,298-32,003llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+16,898-20,565llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
+15,617-19,097llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
+14,370-17,720llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.832bit.ll
+12,180-15,528llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.768bit.ll
+174,623-213,36015,244 files not shown
+1,022,302-715,27215,250 files

HardenedBSD/src f8db732 — stand/userboot/userboot main.c userboot_disk.c, sys/kern sched_4bsd.c sched_ule.c

Merge remote-tracking branch 'rad/hardened/current/master' into hardened/current/pledge
DeltaFile
+346-168sys/sys/sched.h
+21-75sys/kern/sched_shim.c
+6-56sys/kern/sched_ule.c
+2-52sys/kern/sched_4bsd.c
+32-13stand/userboot/userboot/userboot_disk.c
+6-3stand/userboot/userboot/main.c
+413-3679 files not shown
+422-37415 files

HardenedBSD/src e14d9a6 — contrib/llvm-project/clang/lib/CodeGen CGDebugInfo.cpp, lib/clang llvm.build.mk

Merge remote-tracking branch 'rad/hardened/15-stable/main' into hardened/15-stable/pledge
DeltaFile
+49-6lib/clang/libllvm/Makefile
+6-2usr.sbin/bsnmpd/tools/bsnmptools/bsnmpget.c
+3-4share/man/man5/src.conf.5
+5-2contrib/llvm-project/clang/lib/CodeGen/CGDebugInfo.cpp
+6-0lib/clang/llvm.build.mk
+3-1usr.sbin/bsnmpd/tools/libbsnmptools/bsnmptools.c
+72-1511 files not shown
+95-1917 files

HardenedBSD/src 2441704 — stand/userboot/userboot main.c userboot_disk.c, sys/kern sched_4bsd.c sched_ule.c

Merge branch 'freebsd/current/main' into hardened/current/master
DeltaFile
+346-168sys/sys/sched.h
+21-75sys/kern/sched_shim.c
+6-56sys/kern/sched_ule.c
+2-52sys/kern/sched_4bsd.c
+32-13stand/userboot/userboot/userboot_disk.c
+6-3stand/userboot/userboot/main.c
+413-3679 files not shown
+422-37415 files

HardenedBSD/src db7a791 — contrib/llvm-project/clang/lib/CodeGen CGDebugInfo.cpp, lib/clang llvm.build.mk

Merge branch 'freebsd/15-stable/main' into hardened/15-stable/main
DeltaFile
+49-6lib/clang/libllvm/Makefile
+6-2usr.sbin/bsnmpd/tools/bsnmptools/bsnmpget.c
+3-4share/man/man5/src.conf.5
+5-2contrib/llvm-project/clang/lib/CodeGen/CGDebugInfo.cpp
+6-0lib/clang/llvm.build.mk
+3-1usr.sbin/bsnmpd/tools/libbsnmptools/bsnmptools.c
+72-1511 files not shown
+95-1917 files

HardenedBSD/ports f089bc6 — japanese/fcitx5-karukan Makefile.crates distinfo, net-im/signal-desktop/files pnpm-lock.yaml

Merge branch 'freebsd/main' into hardenedbsd/main
DeltaFile
+576-321net-im/signal-desktop/files/pnpm-lock.yaml
+549-0security/py-pysequoia/distinfo
+140-140net/rabbitmq/pkg-plist
+273-0security/py-pysequoia/Makefile.crates
+115-113japanese/fcitx5-karukan/distinfo
+56-55japanese/fcitx5-karukan/Makefile.crates
+1,709-629110 files not shown
+2,413-1,123116 files

LLVM/project 67483ea — llvm/include/llvm/IR DebugInfoMetadata.h, llvm/lib/Bitcode/Reader MetadataLoader.cpp

[debuginfo] Add DW_AT_type support to DW_TAG_string_type DIEs (1 of 3) (#217419)

The DWARF spec allows for the DW_TAG_string_type DIE to contain a
DW_AT_type attribute which can be helpful for supporting non-ASCII
character types in a debugger. This requires adding a DIType member to
DIStringType in LLVM IR, and propagating it to the DWARF generator in
the backend. This is part 1 of 3 to add support for this to flang (Issue
#95440)
DeltaFile
+22-15llvm/include/llvm/IR/DebugInfoMetadata.h
+20-9llvm/lib/Bitcode/Reader/MetadataLoader.cpp
+8-8llvm/lib/IR/DebugInfoMetadata.cpp
+14-0llvm/test/Verifier/distringtype-character-type.ll
+8-5llvm/lib/IR/LLVMContextImpl.h
+5-1llvm/test/DebugInfo/fortran-string-type.ll
+77-387 files not shown
+94-4213 files

LLVM/project 352a92f — llvm/lib/Target/SystemZ SystemZInstrVector.td

Fix SystemZ TableGen crashing when GlobalISel is enabled (#228227)

## Description

When I enable GlobalISel for SystemZ by adding `tablegen(LLVM
SystemZGenGlobalISel.inc -gen-global-isel)` in `SystemZ/CMakeList`, it
crashes with this trace:

```

0.      Program arguments: /Users/dennis/Developer/llvm-project/build/bin/llvm-tblgen -gen-global-isel -I/Users/dennis/Developer/llvm-project/llvm/lib/Target/SystemZ -I/Users/dennis/Developer/llvm-project/build/include -I/Users/dennis/Developer/llvm-project/llvm/include -I /Users/dennis/Developer/llvm-project/llvm/lib/Target /Users/dennis/Developer/llvm-project/llvm/lib/Target/SystemZ/SystemZ.td --write-if-changed -o SystemZGenGlobalISel.inc -d SystemZGenGlobalISel.inc.d
 #0 0x00000001004897ac llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/Users/dennis/Developer/llvm-project/build/bin/llvm-tblgen+0x1002f17ac)
 #1 0x0000000100486ff0 llvm::sys::RunSignalHandlers() (/Users/dennis/Developer/llvm-project/build/bin/llvm-tblgen+0x1002eeff0)
 #2 0x000000010048a0cc SignalHandler(int, __siginfo*, void*) (/Users/dennis/Developer/llvm-project/build/bin/llvm-tblgen+0x1002f20cc)
 #3 0x0000000184d8c144 (/usr/lib/system/libsystem_platform.dylib+0x180898144)
 #4 0x00000001003a1158 llvm::gi::CopyConstantAsImmRenderer& llvm::gi::BuildMIAction::addRenderer<llvm::gi::CopyConstantAsImmRenderer, llvm::gi::RuleMatcher&, llvm::StringRef&>(llvm::gi::RuleMatcher&, llvm::StringRef&) (/Users/dennis/Developer/llvm-project/build/bin/llvm-tblgen+0x100209158)
 #5 0x00000001003a1158 llvm::gi::CopyConstantAsImmRenderer& llvm::gi::BuildMIAction::addRenderer<llvm::gi::CopyConstantAsImmRenderer, llvm::gi::RuleMatcher&, llvm::StringRef&>(llvm::gi::RuleMatcher&, llvm::StringRef&) (/Users/dennis/Developer/llvm-project/build/bin/llvm-tblgen+0x100209158)
 #6 0x00000001003a0688 (anonymous namespace)::GlobalISelEmitter::importNodeRenderer(llvm::gi::RuleMatcher&, llvm::gi::BuildMIAction&, llvm::TreePatternNode const&, std::__1::__list_iterator<std::__1::unique_ptr<llvm::gi::MatchAction, std::__1::default_delete<llvm::gi::MatchAction>>, void*>&) const (/Users/dennis/Developer/llvm-project/build/bin/llvm-tblgen+0x100208688)
 #7 0x000000010039f11c (anonymous namespace)::GlobalISelEmitter::importExplicitUseRenderers(std::__1::__list_iterator<std::__1::unique_ptr<llvm::gi::MatchAction, std::__1::default_delete<llvm::gi::MatchAction>>, void*>, llvm::gi::RuleMatcher&, llvm::gi::BuildMIAction&, llvm::TreePatternNode const&) const (/Users/dennis/Developer/llvm-project/build/bin/llvm-tblgen+0x10020711c)

    [23 lines not shown]
DeltaFile
+5-5llvm/lib/Target/SystemZ/SystemZInstrVector.td
+5-51 files

LLVM/project b8ff1bc — clang/docs ReleaseNotes.md, clang/lib/AST Decl.cpp

[clang] Fix thread_local incorrectly treated as tentative definition (#219780)

Fixes #217636.

In C23 (6.9.3p1-2), a file-scope declaration with `thread_local` is a
definition and is excluded from tentative definitions. Clang classified
such
declarations as tentative, so `thread_local int x; thread_local int x;`
was
accepted.

In C23 and later, `VarDecl::isThisDeclarationADefinition` no longer
returns
`TentativeDefinition` for file-scope thread-local variables, and the C
path of
`MergeVarDecl` now diagnoses a redefinition when a thread-local
definition
follows a previous definition. Earlier language modes keep the old
behavior,

    [2 lines not shown]
DeltaFile
+24-0clang/test/Sema/c23-thread-local-definition.c
+13-8clang/lib/AST/Decl.cpp
+7-1clang/lib/Sema/SemaDecl.cpp
+2-0clang/docs/ReleaseNotes.md
+46-94 files

LLVM/project ccb7fb8 — compiler-rt/lib/builtins/riscv .clang-format-ignore int_mul_impl.inc

[RISCV][compiler-rt] Asm funcs should be hidden (#226633)

The C builtins are built with `-fvisibility=hidden` when that option is
available, as the builtins are expected to be statically linked and not
called across shared library boundaries.

Before this change, the assembly-written builtin implementations were
declared with STV_DEFAULT visibility, meaning they would be visible
across shared library boundaries. This change moves them to being
declared as STV_HIDDEN to fix this issue.

In particular, the save/restore routines are not normal functions and
cannot be called via a PLT, so this fixes a bug there, and also applies
it to the assembly multiply routine.
DeltaFile
+91-111compiler-rt/lib/builtins/riscv/save.S
+66-100compiler-rt/lib/builtins/riscv/restore.S
+15-17compiler-rt/lib/builtins/riscv/int_mul_impl.inc
+1-0compiler-rt/lib/builtins/riscv/.clang-format-ignore
+173-2284 files

LLVM/project f28445b — llvm/include/llvm/CodeGen SDPatternMatch.h, llvm/lib/CodeGen/SelectionDAG DAGCombiner.cpp

[SDPatternMatch] Add m_Node and m_SpecificOpc that take opcode from template argument (#228626)

In most cases, `m_Node` and `m_SpecificOpc` is checking against a fixed
opcode. By taking the opcode it is comparing against from a template
argument, we can guarantee that opcode comparison will be trivial, even
in debug builds. This could potentially improve the compilation time in
the long run.
DeltaFile
+10-10llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+9-10llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+9-9llvm/lib/Target/X86/X86ISelLowering.cpp
+14-0llvm/include/llvm/CodeGen/SDPatternMatch.h
+3-3llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+6-0llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
+51-326 files

FreeBSD/ports 578ce00 — devel/py-cysignals Makefile pkg-plist

devel/py-cysignals: use USE_PYTHON=autoplist

Fixes packaging with free-threaded Python.
Also specify USE_PYTHON=pytest instead of USES=pytest

PR: 299133
Approved by: thierry (maintainer)
DeltaFile
+0-24devel/py-cysignals/pkg-plist
+2-4devel/py-cysignals/Makefile
+2-282 files

HardenedBSD/ports 578ce00 — devel/py-cysignals Makefile pkg-plist

devel/py-cysignals: use USE_PYTHON=autoplist

Fixes packaging with free-threaded Python.
Also specify USE_PYTHON=pytest instead of USES=pytest

PR: 299133
Approved by: thierry (maintainer)
DeltaFile
+0-24devel/py-cysignals/pkg-plist
+2-4devel/py-cysignals/Makefile
+2-282 files

LLVM/project b30c031 — llvm/lib/Transforms/Scalar SeparateConstOffsetFromGEP.cpp, llvm/test/Transforms/SeparateConstOffsetFromGEP/NVPTX sext-add-inbounds.ll sext-add-nonnegative.ll

[SeparateConstOffsetFromGEP] Fix sext/add overflow checks (#228562)

Fix three cases where `SeparateConstOffsetFromGEP` distributes `sext`
through an overflowing `add`:

- A nonnegative sum can still overflow when both operands are negative.
Require at least one nonnegative operand. [Compiler
Explorer](https://godbolt.org/z/WcPzWPTGq), [Alive2
counterexample](https://alive2.llvm.org/ce/z/Hsk_PE), [generalized
proof](https://alive2.llvm.org/ce/z/EbgYFa).
- The bounds check used the GEP source type's size for every index.
Track the exact index `Use` and use its element stride. [Compiler
Explorer](https://godbolt.org/z/r9aGTsEE8), [Alive2
counterexample](https://alive2.llvm.org/ce/z/kqi9Cf), [generalized
proof](https://alive2.llvm.org/ce/z/aAM4hM).
- Earlier GEP indices can move the pointer away from the object base.
Restrict base-offset reasoning to the first index and use the
object-size bound for later indices. [Compiler
Explorer](https://godbolt.org/z/vjM19TKnY), [Alive2
counterexample](https://alive2.llvm.org/ce/z/FiHX4h), [generalized
proof](https://alive2.llvm.org/ce/z/6E4kSv).
DeltaFile
+78-100llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
+168-0llvm/test/Transforms/SeparateConstOffsetFromGEP/NVPTX/sext-add-nonnegative.ll
+107-0llvm/test/Transforms/SeparateConstOffsetFromGEP/NVPTX/sext-add-inbounds.ll
+353-1003 files

LLVM/project 3367dfd — lldb/test lldbflakes.py

[lldb] Print the output of failed attempts of flaky tests (#229483)

This patch adds a mechanism to log the output of the failed tries of a
flaky test which ended up passing after multiple attempts.
DeltaFile
+6-0lldb/test/lldbflakes.py
+6-01 files

LLVM/project 449ecf0 — llvm/lib/Target/AMDGPU AMDGPUISelDAGToDAG.h AMDGPUISelDAGToDAG.cpp, llvm/test/CodeGen/AMDGPU gds-atomic.ll gds-load-store.ll

AMDGPU: Select region address space loads and stores

Fix the annoying asymmetry where we handle local and region for some atomics
but not the full suite of operations. I run into this about once per year and
want to be done with it.

The ugly bits here are to deal with the fact that it appears m0 still requires
initialization in gfx9+. It was simpler to handle the true16 case by
preprocessing the selection to a 32-bit extload as the load truly is, and go
through the ordinary m0 gluing.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+4,568-0llvm/test/CodeGen/AMDGPU/gds-load-store.ll
+63-52llvm/lib/Target/AMDGPU/SIInstrInfo.td
+60-8llvm/lib/Target/AMDGPU/DSInstructions.td
+35-4llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
+10-6llvm/test/CodeGen/AMDGPU/gds-atomic.ll
+1-0llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
+4,737-706 files

HardenedBSD/ports da6741d — . CHANGES, Mk/Uses python.mk

python.mk: introduce PYTHON_DISABLE_BYTECODE

This is a user variable to allow Python ports to not compile and
include bytecode. For this setting to take effect on existing
packages, rebuilds are required. Ports themselves must not set this
variable.
DeltaFile
+17-1Mk/Uses/python.mk
+8-0CHANGES
+25-12 files

FreeBSD/ports da6741d — . CHANGES, Mk/Uses python.mk

python.mk: introduce PYTHON_DISABLE_BYTECODE

This is a user variable to allow Python ports to not compile and
include bytecode. For this setting to take effect on existing
packages, rebuilds are required. Ports themselves must not set this
variable.
DeltaFile
+17-1Mk/Uses/python.mk
+8-0CHANGES
+25-12 files

LLVM/project 54e7a49 — llvm/include/llvm/Support VirtualFileSystem.h, llvm/lib/Support FileCollector.cpp VirtualFileSystem.cpp

[llvm][vfs] Add FileSystem::getDirectoryContentRealSources (#216889)

Add a way to ask a VFS which locations in an underlying file system
contribute to enumerating a directory.

This is to support reporting directory dependencies to build systems for
external directories that have their content iterated over.

Assisted-by: Claude Code: opus-5
DeltaFile
+230-0llvm/unittests/Support/VirtualFileSystemTest.cpp
+52-0llvm/lib/Support/VirtualFileSystem.cpp
+22-0llvm/include/llvm/Support/VirtualFileSystem.h
+6-0llvm/lib/Support/FileCollector.cpp
+310-04 files

LLVM/project 76d1a9b — llvm/lib/Target/SPIRV SPIRVLegalizerInfo.cpp, llvm/test/CodeGen/SPIRV/hlsl-intrinsics WaveReadLaneFirst_mat.ll

[SPIR-V] Split wide vector intrinsics during legalization (#227287)

Fixes https://github.com/llvm/llvm-project/issues/225961

Requires https://github.com/llvm/llvm-project/pull/227286
DeltaFile
+97-1llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
+46-0llvm/test/CodeGen/SPIRV/legalization/intrinsic-vector-split.ll
+0-4llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WaveReadLaneFirst_mat.ll
+143-53 files

LLVM/project 6b42b7c — compiler-rt/lib/tsan/rtl tsan_report.h tsan_rtl_report.cpp

[NFC][TSan] Remove nullptr location placeholders in ScopedReport (#228825)

#151120 introduced AddedLocationAddr and nullptr placeholders in
ReportDesc::locs when deferring SymbolizeData(addr) from
ScopedReport::AddLocation to SymbolizeStackElems(). Because
SymbolizeData is only reached at the end of AddLocation (which is called
at most once per report), preserving placeholder indices in
ReportDesc::locs is unnecessary.

Replace AddedLocationAddr and nullptr placeholders in ReportDesc::locs
with Vector<uptr> loc_addrs, and append symbolized data locations in
ScopedReport::SymbolizeStackElems() without needing a compaction pass.

Assisted-by: Gemini
DeltaFile
+6-21compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp
+1-6compiler-rt/lib/tsan/rtl/tsan_report.h
+7-272 files

HardenedBSD/src de5689d — usr.sbin/bsnmpd/tools/bsnmptools bsnmpget.c, usr.sbin/bsnmpd/tools/libbsnmptools bsnmptools.c

bsnmp: validate the lower bound of error_index in responses

Check if the response's error_index is within a sane interval.
Otherwise, a rogue peer could crash us.

PR:             298222
Reported by:    Robert Morris
Reviewed by:    markj
Discussed with: secteam (markj)
MFC after:      2 weeks
Analyzed with:  Claude Code Opus 5

(cherry picked from commit 296e3fd54ca8972fa6696974097a2f2705f8dfc4)
DeltaFile
+6-2usr.sbin/bsnmpd/tools/bsnmptools/bsnmpget.c
+2-1usr.sbin/bsnmpd/tools/libbsnmptools/bsnmptools.c
+8-32 files

FreeBSD/src de5689d — usr.sbin/bsnmpd/tools/bsnmptools bsnmpget.c, usr.sbin/bsnmpd/tools/libbsnmptools bsnmptools.c

bsnmp: validate the lower bound of error_index in responses

Check if the response's error_index is within a sane interval.
Otherwise, a rogue peer could crash us.

PR:             298222
Reported by:    Robert Morris
Reviewed by:    markj
Discussed with: secteam (markj)
MFC after:      2 weeks
Analyzed with:  Claude Code Opus 5

(cherry picked from commit 296e3fd54ca8972fa6696974097a2f2705f8dfc4)
DeltaFile
+6-2usr.sbin/bsnmpd/tools/bsnmptools/bsnmpget.c
+2-1usr.sbin/bsnmpd/tools/libbsnmptools/bsnmptools.c
+8-32 files

FreeBSD/src 0154a0d — usr.sbin/bsnmpd/tools/libbsnmptools bsnmptools.c

bsnmpget: initialise the suboption value in getsubopt1()

Otherwise, "bsnmpget -o verbose -I cut" crashes.

Reported by:    clang static analyzer
MFC after:      2 weeks

(cherry picked from commit 5d169b5365b1f5cdf8586efa9421feaa4bfe40af)
DeltaFile
+1-0usr.sbin/bsnmpd/tools/libbsnmptools/bsnmptools.c
+1-01 files

HardenedBSD/src 0154a0d — usr.sbin/bsnmpd/tools/libbsnmptools bsnmptools.c

bsnmpget: initialise the suboption value in getsubopt1()

Otherwise, "bsnmpget -o verbose -I cut" crashes.

Reported by:    clang static analyzer
MFC after:      2 weeks

(cherry picked from commit 5d169b5365b1f5cdf8586efa9421feaa4bfe40af)
DeltaFile
+1-0usr.sbin/bsnmpd/tools/libbsnmptools/bsnmptools.c
+1-01 files

LLVM/project c4b8959 — clang/lib/CIR/CodeGen CIRGenExprScalar.cpp, clang/test/CIR/CodeGen void-value-expr.cpp

[CIR] Fix a crash on void{} and void conditional expressions

CIR was crashing on `void{}` and on conditionals like
`c ? void() : void()`. This change fixes that by returning a null value
for these void expressions, which is how CIR already handles `void()`
and casts to void. `VisitInitListExpr` now returns early for `void{}`.
When both arms of a cheap conditional are void, we evaluate them and
return a null value instead of building a select, the same as classic
codegen.

Assisted-by: Claude Code / Claude Opus 5.5
DeltaFile
+99-0clang/test/CIR/CodeGen/void-value-expr.cpp
+8-10clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
+107-102 files