[LifetimeSafety] Analyze synthesized constructors for dangling NSDMIs (#206375)
A default member initializer can bind a view/pointer member to a
temporary that dies at the end of construction. This dangling field was
caught for user-written constructors but silently missed for implicit,
defaulted, and inheriting constructors, whose synthesized bodies never
reach IssueWarnings.
Add IssueLifetimeSafetyWarningsForImplicitFunction, called from
DefineImplicitDefaultConstructor and DefineInheritingConstructor, to run
the lifetime safety analysis on these synthesized bodies. Extract the
shared CFG build options into setLifetimeSafetyCFGBuildOptions, reused
by the TU-end analysis.
Assisted-by: Claude Opus 4.8
mvc: DescriptionField: disable special and newline characters
This is only cosmetic and since the description is only used as a
label and not a note block this is fine (and could be overwridden
by the model if needed).
(cherry picked from commit d3c654f848284bcf8b510ea22df3e6ac90063387)
[lldb] Reduce output of TestDataFormatterStdVBool (#206444)
Tests should not be printing an unbounded amount of data, especially
when said data is the subject of corruption or misinterpretation by the
printer (the formatter, in this case).
This test is currently failing on the matrix bots, with the result that
close to 3GB of text is produced.
[AArch64] Remove FeatureMaxInterleaveFactor4 from neoverse-v3ae (#190166)
This CPU has 2 vector pipelines, and even though unrolling can sometimes
be beneficial on its own, we usually set the interleaving factor to the
number of vector pipelines. Remove FeatureMaxInterleaveFactor4 so that
the default of 2 is used.
www/authelia: enable secret mode to fetch secrets from files
Authelia provides the functionality using go templates so screts must
not be part of the config file, but can be read from external files.
That makes handling of keys more more convinient, like:
```
identity_providers:
oidc:
jwks:
- key: {{ secret "/usr/local/etc/authelia/private_ecdsa.pem" | mindent 10 "|" | msquote }}
- key: {{ secret "/usr/local/etc/authelia/private_rsa.pem" | mindent 10 "|" | msquote }}
```
Authelia must be started for this with the template filter which that commit
adds.
PR: 295354
Approved by: yuri (maintainer, timeout)
[RISCV][GlobalISel] Legalize G_ATOMICRMW_AND/OR/XOR (#205540)
Add legalization support for G_ATOMICRMW_AND, G_ATOMICRMW_OR, and
G_ATOMICRMW_XOR in the RISC-V GlobalISel legalizer. These operations are
grouped with G_ATOMIC_CMPXCHG and G_ATOMICRMW_ADD since they share the
same type signature and legalization behavior:
- With the A extension, the operations are legal at XLEN width.
- Without the A extension, they are lowered to the appropriate
__atomic_fetch_{and,or,xor}_N libcalls.
- Sub-XLEN operations are clamped to XLEN before instruction selection;
the actual memory access size is preserved in the MMO so that
Zabha-enabled targets can select byte/halfword AMO instructions (e.g.
amoand.b, amoor.h).
Tests are added for the legalizer, instruction selection, and end-to-end
assembly output for both RV32 and RV64.
openvpn: clean up these option values
Push flags not always mention "push" in label but their
context is clear and keys do not change so simplify.
(cherry picked from commit a9dee3dcff89be9ecd2985ebe590e79ad0bdf01f)
[X86][NFC] Remove X86ISelDAGToDAG.h (#206372)
For all the other passes, we have just been putting them inside X86.h,
and this is also what I plan to do for other targets. A separate header
does not make much sense.
dns/dnsdist: update to v2.0.6
PR: 295515
Reported by: Jordan Ostreff <jordan at ostreff.info>
Approved by: tremere at cainites.net (maintainer)
(cherry picked from commit 9df447a2af2400984d1f068c7d3bed36da348e55)
[CodeGen] Fix legalization of minimum/maximum (#206097)
FMINIMUM/FMAXIMUM legalization uses IS_FPCLASS for the signed zero
fixup. However, if IS_FPCLASS needs to be expanded, this requires the
corresponding integer type to be legal, which it often isn't.
Fix this in the same way as FMINIMUMNUM/FMAXIMUMNUM expansion does, by
rounding to float before performing the IS_FPCLASS if necessary.
However, the way the check is performed is a bit different: Here we use
`LHS == RHS ? (isPosZero(LHS) ? LHS : RHS) : Max` for the Max case,
while FMAXIMUMNUM uses `Max == 0.0 ? (isPosZero(LHS) ? LHS : Max) :
Max`.
The reason for the difference is that the variant based on equality is
correct without any additional pre-conditions, while the one based on
the zero check requires equal values to be handled in a specific way
before reaching the zero fixup. (It might make sense to always use the
approach using equality, but that results in a massive additional test
[11 lines not shown]
py-checkdmarc: updated to 5.17.3
5.17.3
Changed
Narrow the advisory SPF record size check to catch only UnicodeError (raised when a record can't be encoded to UTF-8) instead of swallowing every exception, and log the skip at debug level
Replace the remaining broad except Exception handlers across the package with the specific exception types each block can recover from, so unexpected programming errors surface instead of being masked. As a result, intentional record-validation errors (e.g. MultipleSPFRTXTRecords, MTASTSRecordInWrongLocation) now propagate as their own types rather than being converted to a generic "record not found" error
Modernize type annotations to PEP 604 syntax (X | None and X | Y instead of Optional[X] and Union[X, Y]) throughout the package
Fixed
Declare the supported Python floor with the correct requires-python key (the previous python_requires key is not recognized in a PEP 621 [project] table, so the published metadata advertised no minimum and pip would install on end-of-life Python versions where the modern type-alias syntax fails). Also add per-version Python classifiers for 3.10–3.14
5.17.2
Fixed
Discard TXT records with leading whitespace instead of treating them as valid SPF records, since RFC 7208 section 4.5 requires a record to begin with exactly v=spf1
[4 lines not shown]