[clang][NFC] Refactor expected directives in C++ DRs 1-99 (#73879)
This patch converts (almost) every expected directive in `test/CXX/drs/dr0xx.cpp` into either `@-1` form (when directive immediately follow the line diagnostic is pointing out to), or `@#<marker>` form (when directive is placed away from the line diagnostic is pointing out to). It also converts directive to match exactly one diagnostic, as opposed to matching multiple. Error messages are expanded to exactly match compiler output. `#if __cplusplus` guarding directives are replaced with respective prefixes (e.g. `since-cxx17`).
All aforementioned changes serve a purpose of making it easier to reconstruct expected compiler output, which should also make it a bit easier to grasp the gist of those already non-trivial tests due to their nature of testing corner cases of the language.
[AArch64] Teach areMemAccessesTriviallyDisjoint about scalable widths. (#73655)
The base change here is to change getMemOperandWithOffsetWidth to return
a TypeSize Width, which in turn allows areMemAccessesTriviallyDisjoint
to reason about trivially disjoint widths.
[RISCV][GISEL] legalize, regbankselect, and instruction-select for G_… (#73061)
When MERGE or UNMERGE s64 on a subtarget that is non-64bit, it must have
the D extension and use FPR in order to be legal.
All other instances of MERGE and UNMERGE that can be made legal should
be narrowed, widend, or replaced by the combiner.
Raise exceptions if SMB not configured
We should not proceed with passdb and groupmap synchronization
if SMB has not been properly configured. Passdb interaction in
a broken state can lead to SMB_ASSERT() in pdbedit and other
tools due to global sam sid failing to initialize (possibly
due to missing path components).
In case of creating user / group this should raise
NOTE: these exceptions will not be user-facing unless in very
unusual circumstances (like broken system dataset configuration)
and so their primary purpose is to focus developer attention on
[mlir][Vector] Add a rewrite pattern for gather over a strided memref (#72991)
This patch adds a rewrite pattern for `vector.gather` over a strided
memref like the following:
%subview = memref.subview %arg0[0, 0] [100, 1] [1, 1] :
memref<100x3xf32> to memref<100xf32, strided<>>
%gather = vector.gather %subview[%c0] [%idxs], %cst_0, %cst :
memref<100xf32, strided<>>, vector<4xindex>, vector<4xi1>, vector<4xf32>
After the pattern added in this patch:
%collapse_shape = memref.collapse_shape %arg0 [[0, 1]] :
memref<100x3xf32> into memref<300xf32>
%1 = arith.muli %arg3, %cst : vector<4xindex>
%gather = vector.gather %collapse_shape[%c0] [%1], %cst_1, %cst_0 :
[4 lines not shown]
www/php-apcu: update to 5.1.23
* Revert use of monotonic clock for TTL (#451)
* Fix a crash when serializing packed arrays (e.g. lists) in PHP 8.2+ with
* Reduce memory usage when serializing packed arrays (e.g. lists) in PHP
8.2+ with `apc.serializer=default`.
* Speed up serializing arrays with `apc.serializer=default`.
* Reduce memory usage when unserializing instances of the empty array in
* Removed no longer working apcue extension.
* Increased limit on maximum number of slots.
* Made tests compatible with PHP 8.3.
sockets: don't malloc/free sockaddr memory on getpeername/getsockname
Just like it was done for accept(2) in cfb1e92912b4, use same approach
for two simplier syscalls that return socket addresses. Although,
these two syscalls aren't performance critical, this change generalizes
some code between 3 syscalls trimming code size.
Following example of accept(2), provide VNET-aware and INVARIANT-checking
wrappers sopeeraddr() and sosockaddr() around protosw methods.
Reviewed by: tuexen
Differential Revision: https://reviews.freebsd.org/D42694
sockets: don't malloc/free sockaddr memory on accept(2)
Let the accept functions provide stack memory for protocols to fill it in.
Generic code should provide sockaddr_storage, specialized code may provide
While rewriting accept(2) make 'addrlen' a true in/out parameter, reporting
required length in case if provided length was insufficient. Our manual
page accept(2) and POSIX don't explicitly require that, but one can read
the text as they do. Linux also does that. Update tests accordingly.
Reviewed by: rscheff, tuexen, zlei, dchagin
Differential Revision: https://reviews.freebsd.org/D42635
[DebugInfo][RemoveDIs] Handle DPValues at remaining dbg.value using sites (#73788)
This patch updates the last few places in LLVM using findDbgValues that
don't also collect and handle DPValue objects. This largely involves
instcombine and mem2reg changes, and are largely mechanical, calling
existing utilities on collections of DPValues instead of just
A variety of tests have had RemoveDIs RUN lines added to them to cover
these behaviours. We have some technical debt of the instcombine sinking
code for DPValues not being implemented yet, so I've left FIXME stubs
indicating that we intend to cover tests with RemoveDIs but haven't yet.
www/php-http4: update to 4.2.4
pkgsrc change: allow php82 and php83
* Fix Error using ssl array in options : Could not set option tlsauthtype
(see gh issue #131)
* Fix arginfo wargnings of the internal curl client user handler
* Disable libidn support for v1.36-v1.38 due to broken locale detection
ghc96: Build with LC_ALL=en_US.UTF-8.
There appear to be a number of UTF-8 issues in ghc, some of which are patched
in this package and the resulting binaries, but there are others that may be
caused by the bootstrap kit. Package now builds correctly on SunOS.
[libc] Mark operator== const to avoid ambiguity in C++20. (#73954)
C++20 will automatically generate an operator== with reversed operand
order, which is ambiguous with the written operator== when one argument
is marked const and the other isn't.
This operator currently triggers -Wambiguous-reversed-operator at
several usage sites in libc/test/src/__support/CPP/bitset_test.cpp,
starting with line 153.