[flang][MIF] Adding lowering for EVENT POST/WAIT statements (#210283)
Add lowering of EVENT POST and EVENT WAIT statements to the MIF dialect
(mif.event_post / mif.event_wait), and lowering of coarray references in
hlfir.designate.
- The event variable is passed to PRIF together with the byte offset of
the event inside its coarray, computed in MIFOpConversion
- The default initialization of event_type coarrays after
prif_allocate_coarray.
- Add lowering tests for EVENT POST / WAIT.
Nonallocatable coarrays are allocated by PRIF, so their storage is on
the heap. This
patch lowers them like allocatable variables:
- `ConvertTyp`e: the type of a coarray is now a !fir.box<!fir.heap<...>,
corank:N> so every descriptor for coarrays carries
CFI_attribute_allocatable.
[12 lines not shown]
Only use the user's home directory for host web shells
## Problem
Container, app and VM web shells opened by a non-root user got that user's host home directory as HOME, and the shell child started in it. Inside containers this pointed $HOME and ~ at a host path, so the image's root dotfiles were not used.
## Solution
Pass the shell type to the worker thread and use it for both the command and the environment. Host shells keep the user's home as HOME; container, app and VM shells get /root. The shell child always starts in /root, since login changes into HOME itself for host shells.
NAS-144247 / 28.0.0-BETA.1 / Manage container NICs explicitly instead of adding one on the fly (#20059)
## Problem
A container without a NIC device row got an implicit bridge NIC with no
MAC added on the fly at every start, so libvirt generated a new MAC each
time and the container came up with a different DHCP address after every
restart. Containers migrated from incus are usually in this state
because their eth0 came from the incus profile. Beyond the MAC churn,
silently attaching a NIC the user never configured isn't always what
users want.
## Solution
Container networking is now managed explicitly through NIC devices.
- **No implicit NIC**: a container only has network through its NIC
devices, and one without any gets a private namespace with only
loopback. This relies on truenas/truenas_pylibvirt#97 emitting
`<privnet/>` for such containers, so that has to land first.
`default_network` is dropped from the v28 container entry since it no
[15 lines not shown]
[NFC][analyzer] Replace generateErrorNode with addSink (#235749)
This change replaces use of `CheckerContext::generateErrorNode` with
`getSink`, then deletes `generateErrorNode`. Textually replacing
`generateErrorNode` with `addSink` will correctly update _most_
downstream checkers; but calls of the form `C.generateErrorNode(State,
Tag)` (if there are any – there wasn't any in upstream) would need to be
updated to `C.addSink(State, C.getPredecessor(), Tag)`.
This change was motivated by the fact that `addSink` and
`generateErrorNode` did the same thing, so their separate existence
caused lots of confusion (e.g. it implied that an "error node" is
somehow different from a regular node, which was completely false).
`generateErrorNode` was the more widespread among them (roughly 80 vs 40
call sites in checkers), but its name isn't suitable for the dozens of
cases where the sink is not used for an "error" (bug report), so I
decided to keep `addSink` as the only sink-making method.
[3 lines not shown]
[clang][CodeGen] Use the primary base chain for virtual method IDs
Identify a virtual method in the call graph section after the method it
overrides along the primary base chain of its class, as given by the record
layout. That is the vtable entry the method is placed in, which is not always
the first method it overrides.
Assisted-by: Jetski
[Support] Check whether a file is local by its handle on Windows (#233727)
To tell whether an open file is on a local disk, `is_local` resolved
its handle to a path with `GetFinalPathNameByHandleW`, found the volume
with `GetVolumePathNameW` and checked it with `GetDriveTypeW`.
This chain is pretty expensive. `GetVolumePathNameW` alone
takes 0.2-0.4 ms. `mapped_file_region` does this check on every unmap,
slowing down the on-disk CAS.
Ask the volume through the handle first. `NtQueryVolumeInformationFile`
returns its device type and characteristics in one call. A disk device
that is neither removable nor remote is a fixed local disk. Any other
answer, or a failed query, falls back to the path-based check as before.
A cache hit of a single-file compile is 2.1% faster through the
dependency scanning daemon and 1.4% faster in-process. Measured with
clang compile caching on the on-disk CAS in the swiftlang/llvm-project
fork.
fooyin: update to 0.14.1.
Provided by Gourd in wip.
0.14.1
Improvements
Interface
Add configurable column header fonts, including a separate playlist header font (#1788)
Add configurable Volume Control slider step sizes (#1802)
Improve standalone Library Tree window appearance
Improve Library Tree control bar padding
Playlist
Add the Configure action to the full track context menus (#1804)
Plugins
Add support for removing and reinstalling plugins in user plugin directories (#1805)
Support upgrades from loose plugin files and show pending installations
Report specific plugin installation failures
[32 lines not shown]
x11/xscreensaver: add _permit_setugid symbol
Let's commit this for now while the work adding bsdauth support
is not ready yet.
Tested by edd@
OK rsadowski@ jca@ tb@
[RISCV][P-ext] Add isel pattern for maccu.h01/maccu.h11 (#235998)
`maccu.h01` multiplies the zero-extended lower half word of rs1 by the
zero-extended upper half word of rs2 and adds the product to rd.
`maccu.h11` does the same with the zero-extended upper half words of
both.
Previously, (srl X, 16) was selected as a separate srli feeding
`maccu.h00`. Match it directly so the shift is folded. As with
`maccu.h00`, the patterns require the multiply to have a single use.
[libc++] Implement LWG4245: Operators that interact with counted_iterator and default_sentinel_t should be noexcept (#235445)
Mark `counted_iterator`'s `operator-` overloads and `operator==` taking
`default_sentinel_t` as `noexcept`, as required by the resolution of
LWG4245. They only read the stored count. Applied as a defect report to
every mode where `counted_iterator` exists (C++20 and later).
The existing `minus.default_sentinel.pass.cpp` and `compare.pass.cpp`
now check `noexcept` for both argument orders and the rewritten `!=`
forms. They fail without the header change and pass in C++20 and later.
Fixes #148226
math/py-jaxlib: New port: Support library for JAX
This is a missing support dependency port for math/py-jax
which fixed JAX and several other ports that depend on JAX.
All of them don't work without math/py-jaxlib.
Approved by: no need for approval according to bapt@