LLVM/project b8dcc02clang/include/clang/AST TemplateName.h, clang/lib/AST TemplateName.cpp

[Clang][C++29] Template pack indexing (#218738)

This partially implement p3670r4
(https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2026/p3670r4.pdf) I
haven't implemented mangling yet, it part to limit the scope of this
change which is somewhat larger than I thought it would be.

This introduces a new uncommon template name storage kind that stores a
pattern and the expanded parameter, like we do for types and
expressions.

The rest is fairly mechanical.

The feature is backported to C++98 (for type template parameters).
Funnilly, the backport of pack indexing of types was never actually
tested in C++98 mode and did not work.
It should be fixed by this PR but I'll write tests for it as a follow
up.


    [8 lines not shown]
DeltaFile
+456-0clang/test/SemaCXX/cxx2d-pack-indexing-template.cpp
+139-20clang/lib/Sema/TreeTransform.h
+156-3clang/lib/AST/TemplateName.cpp
+99-1clang/include/clang/AST/TemplateName.h
+82-0clang/lib/Parse/ParseDeclCXX.cpp
+43-32clang/lib/Parse/ParseExprCXX.cpp
+975-5658 files not shown
+1,896-21464 files

LLVM/project 2cba3adllvm/lib/Target/AMDGPU SIRegisterInfo.cpp AMDGPUInstructionSelector.cpp, llvm/lib/Target/RISCV RISCVRegisterInfo.cpp

GlobalISel: Replace MachineOperand based register constraint API (#219283)
DeltaFile
+38-39llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
+6-6llvm/lib/Target/WebAssembly/GISel/WebAssemblyInstructionSelector.cpp
+4-5llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
+4-5llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
+2-6llvm/lib/Target/WebAssembly/WebAssemblyRegisterInfo.cpp
+3-2llvm/lib/Target/WebAssembly/WebAssemblyRegisterInfo.h
+57-635 files not shown
+66-7211 files

LLVM/project d34be0fclang-tools-extra/clang-tidy/readability IdentifierNamingCheck.cpp, clang-tools-extra/docs ReleaseNotes.md

[Clang-Tidy] Support lambda's init captures in `readability-identifier-naming`. (#214353)

Add an ability to declare a custom rules for lambda's init-captures. It
recently came up in some of the discussions and people find it useful to
to have rules for those types of identifiers.

Co-authored-by: Dmitrii Kuragin <dkuragin at adobe.com>
DeltaFile
+60-0clang-tools-extra/docs/clang-tidy/checks/readability/identifier-naming.rst
+45-0clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-lambda-capture.cpp
+4-0clang-tools-extra/docs/ReleaseNotes.md
+4-0clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
+113-04 files

OpenBSD/src if2m1o3gnu/gcc/gcc opts.c

   Follow llvm / clang and disable -fomit-frame-pointer optimisation by
   default.

   OK kettenis@
VersionDeltaFile
1.10+2-0gnu/gcc/gcc/opts.c
+2-01 files

OpenBSD/src j6280Pkgnu/llvm/clang/lib/Driver/ToolChains CommonArgs.cpp

   Disable the -fomit-frame-pointer optimisation by default.

   The frame-pointer is needed to have good backtraces from e.g ddb or
   ptrace / btrace. Many other distros did something like this as well since
   the benfit of havving easy to work with backtraces outweights the little
   overall speedup gained by having an extra register.

   Also disable -mno-omit-leaf-frame-pointer by default on llvm.

   OK kettenis@
VersionDeltaFile
1.2+2,528-421gnu/llvm/clang/lib/Driver/ToolChains/CommonArgs.cpp
+2,528-4211 files

LLVM/project ec53c6eclang/include/clang/Options Options.td, clang/test/Driver linker-opts.c

[clang] Fix --entry command line option (#69114)

Fixes: #68355
DeltaFile
+6-0clang/test/Driver/linker-opts.c
+3-2clang/include/clang/Options/Options.td
+9-22 files

LLVM/project 8712ee6llvm/lib/Target/AArch64 AArch64TargetTransformInfo.cpp, llvm/test/Analysis/CostModel/AArch64 vec3-ops.ll load_store.ll

[AArch64] Improve load / store costs for non-power2 vector types. (#214695)

This adjusts the existing non-power-2 load/store cost routines to handle
larger than 128bit vectors, by splitting out the initial 128bit chunks
and costing the remainder with loads + inserts.

Fixes #214475
DeltaFile
+172-172llvm/test/Analysis/CostModel/AArch64/load_store.ll
+32-32llvm/test/Analysis/CostModel/AArch64/vec3-ops.ll
+17-16llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
+30-3llvm/test/Transforms/SLPVectorizer/AArch64/masked-loads-side-effects-after-vec.ll
+14-0llvm/test/Transforms/VectorCombine/AArch64/shrink-types.ll
+265-2235 files

LLVM/project c3a5d37llvm/lib/Transforms/InstCombine InstCombineAndOrXor.cpp, llvm/test/Transforms/InstCombine and-xor-or.ll

[InstCombine] Preserve no-wrap flags in BitwiseOp(trunc(A), trunc(B)) fold. (#219567)

proof: https://alive2.llvm.org/ce/z/BP5VSQ
DeltaFile
+195-0llvm/test/Transforms/InstCombine/and-xor-or.ll
+12-1llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
+207-12 files

FreeBSD/ports b235c5aKeywords ldconfig32.ucl ldconfig.ucl, Mk bsd.port.mk

ldconfig: Revert "ldconfig: Add rootdir support and handle INSTALL_AS_USER"

Something was not properly catched by the exp-run, revert until
I fix the fallouts
DeltaFile
+10-14Keywords/ldconfig.ucl
+0-20Keywords/ldconfig32.ucl
+2-5Mk/bsd.port.mk
+12-393 files

FreeBSD/src b2e6b65sys/arm64/arm64 pmap.c

arm64 pmap: optimize TLB management by pmap_update_entry()

To date, pmap_update_entry() has unconditionally passed false as
final_only to pmap_s1_invalidate_range().  Passing false means that we
invalidate the intermediate "page walk cache" entries in the TLB as well
as the leaf that is being replaced. However, invalidating intermediate
entries is only necessary when doing a superpage promotion that replaces
a pointer to a page table page by a large page mapping.

Reviewed by:    andrew, kib, markj
MFC after:      1 month
Differential Revision:  https://reviews.freebsd.org/D58917
DeltaFile
+17-13sys/arm64/arm64/pmap.c
+17-131 files

FreeBSD/ports a46a9c9www/grist-core Makefile distinfo

www/grist-core: update to 1.7.18

Changes:        https://github.com/gristlabs/grist-core/releases
DeltaFile
+5-5www/grist-core/distinfo
+1-1www/grist-core/Makefile
+6-62 files

FreeBSD/ports b86c8b4net/gotify-server Makefile distinfo

net/gotify-server: update to 3.1.0

Changes:        https://github.com/gotify/server/releases
DeltaFile
+7-7net/gotify-server/distinfo
+1-2net/gotify-server/Makefile
+8-92 files

HardenedBSD/src 0072f42crypto/openssl/crypto/aes aes_x86core.c, crypto/openssl/doc/man3 X509_verify_cert.pod

Merge remote-tracking branch 'rad/hardened/current/master' into hardened/current/pledge
DeltaFile
+0-79,844crypto/openssl/test/recipes/30-test_evp_data/evprand.txt
+0-867crypto/openssl/crypto/aes/aes_x86core.c
+851-3crypto/openssl/test/evp_extra_test.c
+394-125crypto/openssl/test/evp_extra_test2.c
+476-32crypto/openssl/test/endecode_test.c
+439-61crypto/openssl/doc/man3/X509_verify_cert.pod
+2,160-80,9321,174 files not shown
+9,891-83,2341,180 files

HardenedBSD/src 6e8c847sys/dev/sound/pci hdsp.h hdsp.c

Merge remote-tracking branch 'rad/hardened/15-stable/main' into hardened/15-stable/pledge
DeltaFile
+74-29sys/dev/sound/pci/hdsp-pcm.c
+13-13sys/dev/sound/pci/hdsp.c
+9-0sys/dev/sound/pci/hdsp.h
+96-423 files

HardenedBSD/src 0f72fcacrypto/openssl/crypto/aes aes_x86core.c, crypto/openssl/doc/man3 X509_verify_cert.pod

Merge branch 'freebsd/current/main' into hardened/current/master
DeltaFile
+0-79,844crypto/openssl/test/recipes/30-test_evp_data/evprand.txt
+0-867crypto/openssl/crypto/aes/aes_x86core.c
+851-3crypto/openssl/test/evp_extra_test.c
+394-125crypto/openssl/test/evp_extra_test2.c
+476-32crypto/openssl/test/endecode_test.c
+439-61crypto/openssl/doc/man3/X509_verify_cert.pod
+2,160-80,9321,174 files not shown
+9,891-83,2341,180 files

HardenedBSD/src a8331fbsys/dev/sound/pci hdsp.h hdsp.c

Merge branch 'freebsd/15-stable/main' into hardened/15-stable/main
DeltaFile
+74-29sys/dev/sound/pci/hdsp-pcm.c
+13-13sys/dev/sound/pci/hdsp.c
+9-0sys/dev/sound/pci/hdsp.h
+96-423 files

HardenedBSD/ports 2c294e4misc/gimp-help-en distinfo Makefile, www/waterfox Makefile distinfo

Merge branch 'freebsd/main' into hardenedbsd/main
DeltaFile
+0-22www/waterfox/files/patch-toolkit_library_moz.build
+4-6misc/gimp-help-en/Makefile
+5-5www/waterfox/distinfo
+3-3misc/gimp-help-en/distinfo
+2-2www/waterfox/Makefile
+14-385 files

OpenBSD/src 4EvNZMOlib/libcrypto/man X509_STORE_CTX_get_error.3

   X509_STORE_CTX_get_error.3: zap extraneous if
VersionDeltaFile
1.31+3-3lib/libcrypto/man/X509_STORE_CTX_get_error.3
+3-31 files

OpenBSD/src iFszi1Clib/libcrypto/man X509_STORE_CTX_get_error.3

   X509_STORE_CTX_get_error: validate chain -> validated chain (of certificates)
VersionDeltaFile
1.30+4-4lib/libcrypto/man/X509_STORE_CTX_get_error.3
+4-41 files

OpenBSD/ports baKFa61devel/nspr/patches patch-nspr_pr_tests_nameshm1_c patch-nspr_pr_src_misc_prnetdb_c

   devel/nspr: update to 4.40.

   clang codestyle applied upstream, much churn in patches but NFC.
VersionDeltaFile
1.7+2,502-2,484devel/nspr/patches/patch-nspr_pr_src_misc_prdtoa_c
1.10+53-52devel/nspr/patches/patch-nspr_pr_src_linking_prlink_c
1.7+26-26devel/nspr/patches/patch-nspr_pr_src_misc_prinit_c
1.8+17-16devel/nspr/patches/patch-nspr_pr_tests_socket_c
1.12+9-9devel/nspr/patches/patch-nspr_pr_src_misc_prnetdb_c
1.8+6-6devel/nspr/patches/patch-nspr_pr_tests_nameshm1_c
+2,613-2,5935 files not shown
+2,623-2,60311 files

LLVM/project 118efe7clang/lib/Driver/ToolChains OpenBSD.cpp, clang/test/Driver openbsd.c

[Driver][OpenBSD] Pass -pie for static PIE links (#216907)

OpenBSD uses `rcrt0.o` for static PIE executables. This startup object
references the linker-defined `_DYNAMIC` symbol.

OpenBSD's system linker defaults to PIE, which previously masked the
missing driver flag. An LLD cross-linker built on a non-OpenBSD host
does not share that default. Consequently,
`clang --target=...-openbsd -static` selects `rcrt0.o`, but LLD does not
create `_DYNAMIC`, causing the link to fail.
DeltaFile
+6-2clang/lib/Driver/ToolChains/OpenBSD.cpp
+1-0clang/test/Driver/openbsd.c
+7-22 files

LLVM/project e744b81orc-rt/include/orc-rt/support SimplePackedSerialization.h, orc-rt/include/orc-rt/support/sps SimplePackedSerialization.h

[orc-rt] Group SPS headers under sps/ subdirectories. NFC. (#219614)

The SPS format headers move from support/ to support/sps/, and
SimpleRemoteCA -- whose wire format is SPS, fixed by compatibility with
LLVM's SimpleRemoteEPC -- moves from bedrock/ to bedrock/sps/. Every
file whose contents are SPS-specific now lives under an sps/ directory
in its layer, matching what the sps-ci -> sps rename set up. Tests and
include guards follow.
DeltaFile
+0-826orc-rt/include/orc-rt/support/SimplePackedSerialization.h
+826-0orc-rt/include/orc-rt/support/sps/SimplePackedSerialization.h
+0-441orc-rt/test/unit/support/SimplePackedSerializationTest.cpp
+441-0orc-rt/test/unit/support/sps/SimplePackedSerializationTest.cpp
+0-318orc-rt/test/unit/support/SPSWrapperFunctionTest.cpp
+318-0orc-rt/test/unit/support/sps/SPSWrapperFunctionTest.cpp
+1,585-1,58536 files not shown
+2,775-2,77442 files

OpenBSD/ports 5HBpPKUgeo/qgis distinfo Makefile, geo/qgis/pkg PLIST

   geo/qgis: update to 4.2.2
VersionDeltaFile
1.237+3-3geo/qgis/Makefile
1.145+2-2geo/qgis/distinfo
1.110+3-0geo/qgis/pkg/PLIST
+8-53 files

LLVM/project b5a2282llvm/include/llvm/ADT SmallPtrSet.h

[ADT] Simplify SmallPtrSetIterator (NFC) (#219087)

This patch simplifies SmallPtrSetIterator by defining it directly
without the type-erased SmallPtrSetIteratorImpl.

In commit cc3fe3c546e0 (#160814), SmallPtrSetIteratorImpl was introduced
to reduce template instantiation bloat.  However, because
SmallPtrSetIteratorImpl is defined entirely in the header and its
trivial iterator loops are aggressively inlined at call sites, the
separate base class adds structural complexity without providing
meaningful code size savings.

Assisted-by: Antigravity
DeltaFile
+34-48llvm/include/llvm/ADT/SmallPtrSet.h
+34-481 files

OpenBSD/src e4wHBXplib/libssl ssl_tlsext.c

   libssl: ensure server selected ALPN was advertised

   Per RFC 7301, section 3.2, "In the event that the server supports no
   protocols that the client advertises, then the server SHALL respond
   with a fatal "no_application_protocol" alert.

   If a server does not do that and chooses a protocol that we have not
   advertised, we should abort the handshake. The RFC does not specify
   an alert for this case. BoringSSL chose illegal_parameter and OpenSSL
   decode_error. I slightly prefer illegal_parameter, so went with that.

   Reported by Acts1631 with a similar diff.

   ok jsing kenjiro
VersionDeltaFile
1.168+20-6lib/libssl/ssl_tlsext.c
+20-61 files

OpenBSD/src 1tgIZyKregress/lib/libssl/tlsext tlsexttest.c

   tlsext: check we reject unadvertised selected protocol

   This test currently fails and will be fixed in ssl_tlsect.c r1.168
VersionDeltaFile
1.98+24-1regress/lib/libssl/tlsext/tlsexttest.c
+24-11 files

OpenBSD/src hbQrslpregress/lib/libm/msun Makefile

   Purge expected failures on amd64 after recent libm changes.
VersionDeltaFile
1.17+2-2regress/lib/libm/msun/Makefile
+2-21 files

OpenBSD/src qlavi74lib/libssl ssl_tlsext.c

   tlsext_alpn_client_process(): rename list and proto

   Use server_list and selected instead of list and proto to reduce noise
   in the next commit.

   ok jsing kenjiro
VersionDeltaFile
1.167+8-8lib/libssl/ssl_tlsext.c
+8-81 files

NetBSD/pkgsrc-wip 8bdcdb5. Makefile, crates-io-cli PLIST DESCR

crates-io-cli: update to current git-hash

Attempt to fix broken build.
DeltaFile
+1,487-0crates-io-cli/distinfo
+496-0crates-io-cli/cargo-depends.mk
+31-0crates-io-cli/Makefile
+6-0crates-io-cli/DESCR
+2-0crates-io-cli/PLIST
+1-0Makefile
+2,023-06 files

NetBSD/pkgsrc-wip d839e4bwebkit-gtk60 distinfo Makefile, webkit-gtk60/patches patch-Source_ThirdParty_skia_CMakeLists.txt

webkit-gtk60: minor build fixes.
DeltaFile
+18-0webkit-gtk60/patches/patch-Source_ThirdParty_skia_CMakeLists.txt
+1-0webkit-gtk60/distinfo
+1-0webkit-gtk60/Makefile
+20-03 files