[libc++] Implement LWG4072: std::optional comparisons: constrain harder (#209968)
Resolves #118345.
Previously, the heterogeneous comparison operators (`==`, `!=`, `<`,
`<=`, `>`, `>=`) for arguments `T` and `U` don't check that `T` or `U`
are not a `std::optional` themselves. This allowed the operators to
cause ambiguous overload resolution instead of falling back to
`optional`'s own operators, which possibly caused hard error when there
should not be a matched overload.
This patch implements the resolution by adding
`!__is_std_optional_v<_Up>` (and the `_Tp` equivalent for the reversed)
to the constraints in all twelve involved operators.
As required by the LLVM Project's AI use policy:
- The fix and test processes were revised and verified with AI
assistance.
contrib/lutok: remove autotools generated files
These files provide no value in the FreeBSD tree proper and change
frequently, depending on what machine I generate the release tarball on
(and what versions of autotools are on the host). Nuke the autogenerated
files to avoid bloating commit history/the tree.
MFC after: 3 days
Requested by: Benjamin Jacobs <freebsd at dev.thsi.be>
Revert "contrib/lutok: remove autotools and doxygen generated files"
I messed up the commit title. Redo it with a correct summary.
This reverts commit 3dbe1800848ca71f5cc083f1d5c5b4759b601fae.
contrib/lutok: remove autotools and doxygen generated files
These files provide no value in the FreeBSD tree proper and change
frequently, depending on what machine I generate the release tarball on
(and what versions of autotools are on the host). Nuke the autogenerated
files to avoid bloating commit history/the tree.
MFC after: 3 days
Requested by: Benjamin Jacobs <freebsd at dev.thsi.be>
Revert "[ELF] Omit zero-range FDEs from .eh_frame_hdr" (#221624)
Reverts llvm/llvm-project#220492
This causes the RISC-V buildbots to fail in the exception handling
tests, see https://lab.llvm.org/buildbot/#/builders/210/builds/12623 for
the gauntlet build logs
Apologies this revert is coming in so late, there is a proposed fix at
https://github.com/llvm/llvm-project/pull/221342 but it looks like it
might require additional rounds of review so reverting to get the
buildbots back to green for now
cc @MaskRay @Prabhuk
Distinguish system-generated license records from issued ones
This commit adds changes to record where a license record came from, since we now write one ourselves during upgrade on unlicensed appliance hardware and several consumers were treating it as though iX had issued it.
Entitlement resolution deliberately ignores the origin - a system-generated record is meant to resolve exactly as an issued one does. This only changes alerting, the unlicensed to licensed transition hook, and what we report outward to TrueNAS Connect and support.
Write a legacy license record on unlicensed iX appliances
This commit adds changes to write a minimal legacy license record during upgrade on iX appliance hardware that carries no license at all, so those systems resolve entitlements as licensed hardware and future features have somewhere to be gated. Which features the record actually carries is deliberately minimal for now and a separate decision.
The record is stamped with a marker in customer_key so legacy normalization can tell it apart from a license an issuer signed, and it carries an empty HA serial so the parsed type stays ENTERPRISE_SINGLE and failover.licensed remains false.
Distinguish system-generated license records from issued ones
This commit adds changes to record where a license record came from, since we now write one ourselves during upgrade on unlicensed appliance hardware and several consumers were treating it as though iX had issued it.
Entitlement resolution deliberately ignores the origin - a system-generated record is meant to resolve exactly as an issued one does. This only changes alerting, the unlicensed to licensed transition hook, and what we report outward to TrueNAS Connect and support.
Write a legacy license record on unlicensed iX appliances
This commit adds changes to write a minimal legacy license record during upgrade on iX appliance hardware that carries no license at all, so those systems resolve entitlements as licensed hardware and future features have somewhere to be gated. Which features the record actually carries is deliberately minimal for now and a separate decision.
The record is stamped with a marker in customer_key so legacy normalization can tell it apart from a license an issuer signed, and it carries an empty HA serial so the parsed type stays ENTERPRISE_SINGLE and failover.licensed remains false.
[AMDGPU] Introduce ABI occupancy for object linking
This PR introduces ABI occupancy as the contract used to compile functions under
object linking. The default is the occupancy needed for a 1024 workitem
workgroup. It can be overridden for a module by the `amdgpu_abi_waves_per_eu`
module flag, replaced for a function by `amdgpu-flat-work-group-size`, or
tightened by an accepted `amdgpu-waves-per-eu` hint.
The ABI occupancy replaces the workgroup-derived minimum that an
`amdgpu-waves-per-eu` hint is validated against, so the hint can only make the
contract stricter.
The backend emits the selected occupancy in `.amdgpu.info` and uses it to
enforce the object linking register budget.
www/code-server: Fix extension installation
VS Code's platform detection does not know FreeBSD and falls back to
"Web", so the extension service rejected every non-web extension with
"not available in code-server for the Web platform". Treat FreeBSD as
Linux in platform.ts, the same way editors/vscode does, so extensions
can be installed.
Obtained from: editors/vscode
Sponsored by: Netzkommune GmbH
pcmanfm-qt: reflect recent Plasma update
Include the upstream change "Set desktop screen explicitly on Wayland"
now that our Plasma is new enough to provide the API required.