system: fix the -4/6 family and -n ambiguity as the gateway may also resolve
We still don't really use it since it isn't an IP address but
it also helps narrowing the scope of the deletion lookup.
[flang][OpenMP] Move leftover functions from structure to loop, NFC
There were some loop-related functions still left in the
check-omp-structure.cpp file. Move them to check-omp-loop.cpp.
virtio_console: Handle VIRTIO_CONSOLE_RESIZE
Multiport devices report console size per port by control event,
which was ignored and hence their ttys could never have a window
size.
Reviewed by: markj
Approved by: fuz (mentor)
Differential Revision: https://reviews.freebsd.org/D60094
virtio: Validate host-supplied used lengths
virtio_console used the host-supplied used lengths without
validation, so a host could report a length larger than
the buffer, causing the receive and control paths to read
past the end of it. Clamp to the buffer size.
vtnet already rejected used lengths larger than the buffer,
but performed the check after converting the length to an
int, so a length larger than INT_MAX would become negative
and bypass the check. Reject such frames early before the
conversion, and count them in ierrors and rx_frame_too_large.
Reviewed by: markj
Approved by: fuz (mentor)
Differential Revision: https://reviews.freebsd.org/D60092
virtio_console: Negotiate VIRTIO_CONSOLE_F_SIZE
The driver reads cols/rows and sets the tty window size but
never offered the feature, so that code has been dead since
the very beginning; also read size under the configuration
generation count.
Reviewed by: markj
Approved by: fuz (mentor)
Differential Revision: https://reviews.freebsd.org/D60089
[PowerPC][SDAG] fix bitcast on ppc_f128 swapping the two halves (#208969)
fixes https://github.com/llvm/llvm-project/issues/44482
This is a long-standing issue
https://github.com/llvm/llvm-project/issues/44482, you can also see the
discrepancy in this small C program compiled with clang and GCC
https://godbolt.org/z/KK1q1EozM.
The representation of ppc_fp128 is endian-agnostic in that its
high-order double is stored at the lower address.
For example, 27.0 is represented in memory as `[0x403b000000000000,
0x0000000000000000]`. Bitcasting these 128 bits as an i128 on
little-endian means the upper 64 bits are `0x0000000000000000`, the
lower are `0x403b000000000000`.
But on big-endian the interpretation of the bytes is flipped, the upper
bits are now `0x403b000000000000` while the lower are in
[8 lines not shown]
[orc-rt] Use the Error matchers in InProcessControllerAccessTest (#228702)
Use the Error matchers introduced in 4c8a437d0487 in place of cantFail
on calls that can fail, so that a failure is reported as a test failure
rather than aborting the test binary (or, with assertions disabled,
going unnoticed).
[Mips][MSA] Lower vector fabs to BCLRI (#228532)
FMAX_A selects an original operand by magnitude and preserves its sign,
so fmax_a(x, x) does not implement fabs. Expand FABS_W and FABS_D to
clear bit 31 and bit 63 with BCLRI, and update their scheduling to match
the bit-clear instructions.
Fixes #228384.
[Mips][MSA] Fix commutability of unordered comparisons (#228567)
Remove IsCommutable from FCULT_W/D and FCULE_W/D, whose predicates are
directional. Extend the existing floating-point comparison tests to
check that reversed comparisons produce separate results.
Fixes: #228422
[orc-rt] Use the Error matchers in OptionParserTest (#228701)
Use the Error matchers introduced in 4c8a437d0487 to clean up error
checks in OptionParserTest.
[X86] Don't skip frame setup/destroy on SEH pseudos and regenerate tests (#225445)
As in title. Skipping setting setup/destroy flags caused pseudos to be
wrongly reordered by scheduling
[Support] Add assert for DataBytes in calculateReflectedCRC32 (#228688)
Add an assertion to calculateReflectedCRC32 to check DataBytes is one of
the expected value (1, 2, 4, or 8 bytes).
Co-authored-by: Jared Wyles <jared.wyles at gmail.com>
[flang] Plugin directives: address review comments
- Accept as procedure arguments only subprograms and external procedures:
reject dummy procedures, procedure pointers, statement functions and
intrinsics; a generic name stands for its specific procedure of the same
name, and is an error without one. Accept as variable arguments only
variables (not e.g. derived types or module names). Lowering no longer
calls mangleName on anything else, which aborted.
- Make a malformed argument list of a directive with a registered prefix a
parse error instead of an ignored, unrecognized directive.
- Leave out of a module file a directive whose arguments are not visible in
the module (e.g. an internal procedure or a dummy argument), with a
warning, instead of writing a module file that cannot be read.
- In a function without a RESULT clause, take its name as the function, not
its result variable, where a procedure may be meant.
- Record a directive on the host's symbol when its subject is host
associated (a module procedure naming itself), so it is written to the
module file.
Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>