[LifetimeSafety] Extract Sema helper implementation to separate header (#186492)
Improves code organization by separating lifetime safety Sema-specific
functionality into its own header file.
[libc] Fix build failures in fuzzing tests (#185017)
The tests:
- __support/freelist_heap_fuzz.cpp
- fuzzing/string/strlen_fuzz.cpp
had build failures for different reasons. This patch fixes these
failures.
freelist_heap_fuzz.cpp had this error:
```
llvm-project/libc/fuzzing/__support/freelist_heap_fuzz.cpp:150:26: error: use of undeclared identifier 'Block'; did you mean '__llvm_libc_23_0_0_git::Block'?
150 | size_t alignment = Block::MIN_ALIGN;
| ^~~~~
| __llvm_libc_23_0_0_git::Block
```
The issue stems from the fact that Block was not available in scope. It
[14 lines not shown]
NAS-140272 / 27.0.0-BETA.1 / Fix `pool.dataset.details` crashing when webshare exist (#18462)
An integration test exists, but it is not being run because
https://ixsystemsinc.atlassian.net/browse/TNC-1198 is not ready
Fix mock infrastructure to coerce dict results to Pydantic models for generic services
This commit fixes an issue where the mock infrastructure (test.set_mock)
returns plain dicts for methods that internally return Pydantic models.
Generic services (those with Config.generic = True) like DockerService
return Pydantic model instances from their methods (e.g. docker.config
returns a DockerEntry, docker.status returns a DockerStatusInfo). When
internal callers use attribute access (e.g. .pool) on the result, mocks
returning plain dicts would fail with "'dict' object has no attribute
'pool'".
The fix detects at mock registration time whether the mocked method
belongs to a generic service and returns any Pydantic model. If so, the
mock's dict results are automatically wrapped via model_construct()
before being returned to callers. Non-generic services and
primitive-returning methods are unaffected.
NAS-140061 / 26.0.0-BETA.2 / Replace zfs.pool.wait with truenas_pylibzfs call (by themylogin) (#18459)
Automatic cherry-pick failed. Please resolve conflicts by running:
git reset --hard HEAD~1
git cherry-pick -x 11041236339c1e23155299758f54fc44d7ba53c3
git cherry-pick -x 0a84a701e6956b158df0924d27d3d594c3d11f63
If the original PR was merged via a squash, you can just cherry-pick the
squashed commit:
git reset --hard HEAD~1
git cherry-pick -x 101861fb0277cc8a3ddfe25ccac7287fd1ef46fd
I added a new `job_silent` parameter because, even after
`truenas_pylibzfs.lzc.wait` returns, the first `disk.wipe` operation
still might fail, and this is expected and handled. However, we don't
want the stacktrace to pollute our logs.
[2 lines not shown]
Services: Kea: DHCPv4: allow sending any DHCP option as raw hex or string payload (#9958)
This uses csv-false to force kea to send option data as hexadecimal value, instead of enforcing types on them.
This means theoretically you can now send any byte coded option out, meaning the user can construct whatever value they need. This also means encapsulated options like 43 can be sent in the format any vendor might require, as binary that is.
There is also another possibility, a very specific format of data can automatically convert strings into hex (bytes), kea handles this conversion internally. "data": "'convert this text to binary'"
ure(4): Fix spurious link flaps from MII
A race condition in the MII layer causes spurious link down events.
In `statchg`, on link down, check if the PHY reports the link as
actually down using the BMSR register, if not, force the status of the
link to back up and restart TX. Do the same in a MII `linkchg` handler.
On actual link up, restart TX in case it went idle and down.
PR: 252165
Signed-off-by: Rafael Kitover <rkitover at gmail.com>
Reviewed by: pouria
Differential Revision: https://reviews.freebsd.org/D55682
[flang][OpenMP] Implement nest depth calculation in LoopSequence (#186477)
Calculate two depths, a semantic one and a perfect one. The former is
the depth of a loop nest taking into account any loop- or
sequence-transforming OpenMP constructs. The latter is the maximum level
to which the semantic nest is a perfect nest.
Issue: https://github.com/llvm/llvm-project/issues/185287
Reinstate PR185298 after a fix has been merged in PR186416. Includes a
testcase that triggered failures before.
[X86] Blocklist instructions that are unsafe for masked-load folding. (#178888)
This PR blocklist instructions that are unsafe for masked-load folding.
Folding with the same mask is only safe if every active destination
element reads only from source elements that are also active under the
same mask. These instructions perform element rearrangement or
broadcasting, which may cause active destination elements to read from
masked-off source elements.
VPERMILPD and VPERMILPS are safe only in the rrk form, the rik form
needs to be blocklisted. In the rrk form, the masked source operand is a
control mask, while in the rik form the masked source operand is the
data/value. This is also why VPSHUFB is safe to fold, while other
shuffles such as VSHUFPS are not.
Examples:
```
EVEX.128.66.0F.WIG 67 /r VPACKUSWB xmm1{k1}{z}, xmm2, xmm3/m128
[35 lines not shown]
[flang][NFC] Converted five tests from old lowering to new lowering (part 31) (#186299)
Tests converted from test/Lower/Intrinsics: iall.f90, iand.f90,
iany.f90, ibclr.f90, ibits.f90
NAS-140295 / 27.0.0-BETA.1 / Convert ports service to be typesafe (#18456)
This commit adds changes to convert ports plugin to be typesafe and mypy
compliant.
[AMDGPU] Simplify state clearing in SIInsertWaitcnts. NFC. (#186399)
There is no need to clear state at the start or end of the run method,
because a fresh instance of SIInsertWaitcnts is constructed for each run
on a MachineFunction.