[llubi] Report immediate UB for returning from a noreturn function (#238135)
We should report immediate UB if someone tries to return from a noreturn
function per LangRef.
Fixes #235431.
misc/libreoffice: Update to 26.8.2.2
Changelog:
26.8.2.2:
Bugs fixed compared to 26.8.1 RC1:
ofz#528260798 out-of-memory [Xisco Fauli]
tdf#106359 Support for Web Query (.iqy) files [Caolán McNamara]
tdf#144175 Remove strings from l10n in html export [Julien Nabet]
tdf#150754 GtkCheckMenuItem shows no check mark on macOS (GtkRadioMenuItem does) [Dan Williams]
tdf#154463 AutoCorrect (multiple characters => 1 character) in Text Form Field crashes Writer [Andreas Heinisch]
tdf#162752 Writer freezes when entering the menu "Character..." of a rich text or plain text control element while it is fully selected [Justin Luth]
tdf#167472 Issues with some template names [Laurent Balland]
tdf#168461 I am receiving error when calling Libre Office 25.8.1.1, (PYTHONHOME var?) [Neil Roberts]
tdf#168910 White lines across the image when scrolling [Jonathan Clark]
tdf#169219 Frame with relative size and anchored to page changes size when opening properties. [Justin Luth]
tdf#169387 Error after upgrading LibreOffice (PYTHONHOME var?) [Neil Roberts]
tdf#169697 Can't hear audio in presentations anymore (Windows) [Jonathan Clark]
tdf#170177 Add options to limit hyphenation 1) if it is too close to the right constituent boundary and 2) only at constituent boundaries [László Németh]
[69 lines not shown]
[clang] Fix crash on __builtin_addressof of an overload set (#235313)
Fixes #77928
```cpp
template <typename T> void f(int *) {}
void (*p)(int *) = __builtin_addressof(f<int>);
```
Clang crashes on this (an invalid `cast<OverloadExpr>`).
`BuiltinAddressof` leaves an overload set operand unresolved like `&`
does, but nothing resolves it later for the builtin.
This resolves the operand with `CheckPlaceholderExpr`, so it behaves
like `std::addressof`.
[offload] Remove redundant call to usesLLVMOffloadWrapper (#238343)
usesLLVMOffloadWrapper was called twice when it could just be used to
override the Kind once for both bundleLinkedOutput and wrapDeviceImages.
This also allows that path to take the verbose image bundling.
kitty: update to 0.50.0
- Allow docking kitty windows to the edges of other windows or of the
tab, for status bars, file trees, etc. Create them with launch
--type=window-dock or launch --type=tab-dock, see Docked windows
- A new option restore_session_after_logout to save the state of
every kitty instance, including scrollback, when logging out,
restarting or shutting down and restore it the next time kitty
starts. On macOS, the state is encrypted with a key in the
keychain. On Linux, it requires the Inhibit desktop portal. See
Restoring kitty after logging out
- Allow using tabs like named workspaces: A new launch
--focus-existing option to focus an existing window or tab instead
of creating a new one, a new by-title value for launch --location
to keep tabs in alphabetical order and new options for kitten @
detach-window and the detach_window action to send windows to a
named tab, creating it if needed
[266 lines not shown]
Fix clang/test/Modules/cxx20-fatal-module-loader-error.cpp (#238138)
On some platforms this test fails because the "2>&1" merges stdout and
stderr. This can cause the output to interleaved in unpredictable ways.
The work round is to keep the output streams separate and check each
independently
www/firefox: Update to 159.0.1
Changelog:
159.0.1:
Fixed
* Fixed the dot that marks a tab needing attention being hard to see with
some themes, depending on the system accent color. (Bug 2086347)
* Fixed a command prompt window briefly appearing on Windows when Firefox
restarts to apply an update. (Bug 2081809)
* Fixed passkey sign-in failing on websites that share passkeys across
related sites, such as Facebook and Instagram. (Bug 2085450)
* Fixed crashes on Windows that could occur with some antivirus or other
security software installed, in some cases also leaving WebGL disabled. (
Bug 2083648)
[274 lines not shown]
[libc][math] Use exact exclusive upper bounds for fromfp conversions (#236477)
Use exact, exclusive power-of-two upper bounds in fromfp/fromfpx and
their
unsigned variants. This rejects the rounded-up endpoint and avoids
FE_INEXACT
while constructing the bound. Add wide-width regressions for all four
families. Public types and ABI are unchanged.
Tests: 28 smoke configurations per compiler with GCC 13 and Clang 18 on
x86-64 Linux.
Assisted-by: GitHub Copilot
Signed-off-by: sriramshastry <sriramshastry at gmail.com>
[clang][PowerPC] Pass single-member unions in GPRs on ELFv1 (#223481)
The 64-bit PowerPC ELFv1 ABI (section 3.2.3) passes "one member
aggregates
passed by value containing a floating point value" in FPRs, and an
aggregate
containing one vector value in a VR. Section 3.1.6 defines aggregates as
structures and arrays and lists unions separately, so a union is never
unwrapped this way.
Clang used isSingleElementStruct, which also accepts unions, so it
passed
`union { float a; }`, `struct { union { float a; } u; }` and
`union { struct { float a; } s; }` in f1 where GCC passes them in r3.
The same
happened for double, long double and 128-bit vector members.
Add an AllowUnions parameter to isSingleElementStruct and refuse unions
on
[10 lines not shown]
[InstCombine] Canonicalise Vector Shuffle that clears upper bits
Currently, shuffle vectors that are equivalent to preserving lane 0 and clearing the uppers lanes of a vector result in different shuffle vectors and masks
Recognise and canonicalise the shuffleVectors to the same form allowing for easier recognition in the backend
TableGen: Keep the instregex prefix for patterns with a top-level ?
instregex discarded a pattern's literal prefix, and ran the regex on
every instruction, if the pattern had a ? outside parentheses, as in
LDPS?Wi. A ? only makes the atom before it optional, and an atom
directly before it is already dropped from the prefix. Only a top-level
| makes the prefix unusable.
AArch64GenSubtargetInfo.inc tablegen run:
Gigainstructions Gigacycles CPU seconds
Before 44.6 18.8 5.7
After 43.1 (-3.4%) 17.8 (-4.9%) 5.4 (-4.6%)
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
TableGen: Match each instregex pattern only once (#235485)
Scheduling models use the same instregex patterns many times, and every
use matched the pattern against the instruction names again. AArch64
evaluates 12501 patterns, only 4344 of them distinct, for a total of 34
million regex matches. Cache the instructions each pattern matches, so a
repeated pattern costs a lookup.
AArch64GenSubtargetInfo.inc tablegen run:
```
Gigainstructions Gigacycles CPU seconds
Before 67.9 31.1 9.4
After 44.6 (-34.3%) 18.8 (-39.6%) 5.7 (-39.1%)
```
All 366 tablegen runs in an LLVM build with all targets:
```
Gigainstructions Gigacycles CPU seconds
Before 2252 1409 499
After 2188 (-2.8%) 1380 (-2.1%) 489 (-1.9%)
```
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
Add Webshare MCP option
## Context
Webshare ships an MCP server configured through the `mcp` block of the webshare-auth config, and there was no way to turn it on from middleware. This brings the MCP settings from master to 27.
## Solution
- **New settings**: `webshare.update` accepts `mcp_enabled`, `mcp_allowed_groups` and `mcp_allow_write`, which are rendered into the `mcp` block. `allowed_hosts` is left unset.
- **MCP groups must be login groups**: webshare only checks login groups at OAuth consent, while token refresh and session spawn check only the MCP groups, so every MCP group must be `truenas_webshare` or an entry of `groups`. Otherwise MCP access could outlive Webshare access. Enabling MCP without a group is rejected, since webshare denies everyone on an empty list.
- **Canonical group names**: MCP groups are resolved through NSS, compared by gid and stored under their canonical name, so a directory service group typed differently from its NSS name still matches its login group entry.
- **Migration**: the new columns are added by a migration that skips itself when they already exist, so the same file can be carried to master alongside its existing revision.
- Validation now collects every error before raising, and the `truenas_webshare` group name lives in a single constant.
iichid: keep a fixed sampling cadence in polled mode
Touchpads using sampling mode have a sampling task which is run at
a certain polling rate. When the system is under load this task may
not complete quickly which might stretch the time taken beyond what
the polling rate should be, leading to dropped touchpad motion.
On my laptop this causes the touchpad to be barely useable when
the system is under heavy load, and it is really difficult to move
the cursor since so many events are dropped.
This change adjusts the sampling loop to schedule the next polling
event to take place at a specific time in the future, based on the
polling period. If servicing the poll takes longer due to load then
the next sample will still be scheduled at its original time.
Approved by: wulf, khng (mentor)
Differential Revision: https://reviews.freebsd.org/D0914