[libc] Fix move destruction double-freeing ports after move to RAII
Summary:
Recently I changed the interface to use RAII to close the ports. This
exposed a problem where the default move constructor was invoked in the
optional wrapping, this caused the destructor to fire twice on the
server, obviously causing havok. This PR changes the move destructor to
be deleted so this never happens again. Now everything is constructed
once and only references are allowed. The optional class had to be
fixed to properly set in_use so we run the destructor properly as well.
(math/R) Updated 4.4.3 to 4.5.2 (some 800 lines)
CHANGES IN R 4.5.2:
UTILITIES:
* 'R CMD check' now handles archives with extension '.tar' or
'.tar.zstd' (where 'zstd' compression is supported by the R
build).
BUG FIXES:
* 't.test(c(1:3, Inf))' and similar no longer produce an error
but return a (still not so useful) '"htest"' result, fixing
PR#18901, thanks to Jesse Alderliesten.
* 'attr(., "tsp") <- val' now uses 'getOption("ts.eps")'
instead of hardwired '1e-5'; consequently, 'ts(..,
ts.eps=*)' now passes 'ts.eps' to the '"tsp"' setting C
[845 lines not shown]
netlink: force uninline of nl_receive_message()
The entire netlink(4) message processing thread is all inlined into
nl_taskqueue_handler() making it difficult to dtrace(1) on a message
level.
Wording and formatting improvements.
Note that the magic words "blk", "noblk", "auto" and "none"
are (and were before) formatted using mdoc's .Ar macro. That's
wrong, these are not args meant to be replaced by user supplied
values, they are specific strings that can be used - so probably
should use .Ic or .Cm or something, .Ar is wrong, and confusing.
They occur in the SYNOPSIS and throughout the man page.
Minor changes to column widths for swapctl -l
These changes should cope with listing swap devices (in units of
512 byte blocks) up to somewhere around the 45TiB total configured
swap size. Beyond that a minor modification (or perhaps rewrite
in a more general way) will be needed. But as it is might keep
things looking good for another year or two for most users.
[lldb] Add tree-sitter based Swift syntax highlighting (#181297)
This adds tree-sitter based Swift syntax highlighting to LLDB. It
consists of the SwiftTreeSitterHighlighter plugin and the vendored Swift
grammar [1], which is licensed under MIT.
[1] https://github.com/alex-pinkus/tree-sitter-swift
[AArch64][GlobalISel] Reassociate add sub mul. (#180753)
This is a port of performSubAddMULCombine from D143143. The mid end will
reassociate sub(sub(x, m1), m2) to sub(x, add(m1, m2)). This
reassociates it back to allow the creation of more mls instructions.
handbook/advanced-networking: Add ip6 to bridging
Add example for assigning a dynamic IPv6 address to a bridge interface
and clarify packet filtering behavior.
Reviewed by: madpilot, ziaee
Closes: https://github.com/freebsd/freebsd-doc/pull/603
[libc++] Memoise `size()` in `vector::__assign_with_size` (#180288)
This is an optimisation from the size-based vector project that's
applicable to all vector implementations.
[Polly][ScopInfo] Lazy Scop instantiation (#179535)
The old NPM was using ScopInfo pass introduced in
https://reviews.llvm.org/D20962, which in contrast to the LPM was using
ScopInfoRegionPass. ScopInfo was instantiating all Scop objects
immediately. After codegenning, all Scop objects need to be recomputed
anyway, making this approach wastful. The PhaseManager inherited this
behaviour from the NPM, leading to some concerns.
Replace the instantiate-all behavior of ScopInfo with an on-demand
instantiation. SCoPs now must be iterated using ScopDetection instead
using ScopInfo, but only some unsed legacy NPM passes (now removed) were
doing that anyway.
[ELF] Add target-specific relocation scanning for Hexagon (#181596)
Implement Hexagon::scanSectionImpl, following the pattern established
for x86 (#178846) and PPC64. This merges the getRelExpr and TLS handling
for
SHF_ALLOC sections into the target-specific scanner, enabling
devirtualization and eliminating abstraction overhead.
- Inline relocation classification into scanSectionImpl with a switch
on relocation type, replacing the generic rs.scan() path.
- Use processR_PC/processR_PLT_PC for common PC-relative and PLT
relocations.
- Handle GD PLT relocations inline, always setting NEEDS_PLT. Remove
the R_HEX_GD_PLT special case from process().
- Handle TLS IE, GD GOT, and TPREL directly, bypassing
handleTlsRelocation. Remove EM_HEXAGON from the execOptimize check.
- Simplify getRelExpr to only handle relocations needed by
relocateNonAlloc and scanEhSection.
[X86] Correctly call 16 byte atomic helpers on x86_64 Windows (#181356)
On x86_64 Windows, i128 values are returned in xmm0, and as arguments to
functions, they are passed indirectly (rather than in a GPR pair) - see
WinX86_64ABIInfo::classify in Clang [1].
When AtomicExpandPass generates a libcall, it normally generates one
with i128 arguments and return types. This type isn't lowered correctly
(it ends up passed or returned in a pair of GPRs).
To fix this issue, make AtomicExpandPass use the v2i64 type instead of
i128 here, just like Clang would do for an explicit function call; this
type ends up lowered correctly.
This fixes https://github.com/mstorsjo/llvm-mingw/issues/538 and
https://github.com/llvm/llvm-project/issues/136428.
[1]
https://github.com/llvm/llvm-project/blob/llvmorg-21.1.8/clang/lib/CodeGen/Targets/X86.cpp#L3390-L3408
[SLP]Fix revec in split nodes
Initially split nodes do not support vector entries in revec mode, patch
fixes the issue by adding analysis for the scale factor
Fixes #181546
[clang][ssaf] Add EntityLinkage data structure (#181718)
This commit introduces the `EntityLinkage` class to represent the
linkage properties (`None`, `Internal`, `External`) of entities in the
SSAF framework and integrates it into the `TUSummary` class to enable
tracking this information across translation units.
rdar://162571047
Assisted-By: Claude