Add new ports committer (mce)
Steps for New Committers.
1. Add an Author Entity
2. Update the List of Developers and Contributors
3. Add a News Item
4. Add a PGP Key
Reviewed by: osa, fluffy (mentors)
Approved by: osa, fluffy (mentors)
Differential Revision: https://reviews.freebsd.org/D55853
Update to version 9.2.0167.
Changes:
- patch 9.2.0167: terminal: setting buftype=terminal may cause a crash
- patch 9.2.0166: Coverity warning for potential NULL dereference
- patch 9.2.0165: tests: perleval fails in the sandbox
- patch 9.2.0164: build error when XCLIPBOARD is not defined
- patch 9.2.0163: MS-Windows: Compile warning for unused variable
- patch 9.2.0162: tests: unnecessary CheckRunVimInTerminal in test_quickfix
- patch 9.2.0161: intro message disappears on startup in some terminals
- patch 9.2.0160: terminal DEC mode handling is overly complex
- patch 9.2.0159: Crash when reading quickfix line
- patch 9.2.0158: Visual highlighting might be incorrect
- patch 9.2.0157: Vim9: concatenation can be improved
- patch 9.2.0156: perleval() and rubyeval() ignore security settings
- patch 9.2.0155: filetype: ObjectScript are not recognized
- patch 9.2.0154: if_lua: runtime error with lua 5.5
- patch 9.2.0153: No support to act as a channel server
- patch 9.2.0152: concatenating strings is slow
[100 lines not shown]
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.
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.
[CIR] Split CIR_UnaryOp into individual operations (#185280)
Split the monolithic cir.unary operation (which dispatched on a
UnaryOpKind enum) into four separate operations: cir.inc, cir.dec,
cir.minus, and cir.not.
Changes:
- Add CIR_UnaryOpInterface with getInput()/getResult() methods
- Add CIR_UnaryOp and CIR_UnaryOpWithOverflowFlag base classes
- Define IncOp, DecOp, MinusOp, NotOp with per-op folds
- Add Involution trait to NotOp for not(not(x)) -> x folding
- Replace createUnaryOp() with createInc/Dec/Minus/Not builders
- Split LLVM lowering into four separate patterns
- Split LoweringPrepare complex-type handling per unary op
- Update CIRCanonicalize and CIRSimplify for new op types
- Update all codegen files to use bool params instead of UnaryOpKind
- Remove CIR_UnaryOpKind enum and old CIR_UnaryOp definition
Assembly format change:
cir.unary(inc, %x) nsw : !s32i, !s32i -> cir.inc nsw %x : !s32i
cir.unary(not, %x) : !u32i, !u32i -> cir.not %x : !u32i
[CIR] Split CIR_UnaryOp into individual operations
Split the monolithic cir.unary operation (which dispatched on a
UnaryOpKind enum) into four separate operations: cir.inc, cir.dec,
cir.minus, and cir.not.
This follows the same pattern used when cir.binop was split into
individual binary operations (AddOp, SubOp, etc.).
Changes:
- Add CIR_UnaryOpInterface with getInput()/getResult() methods
- Add CIR_UnaryOp and CIR_UnaryOpWithOverflowFlag base classes
- Define IncOp, DecOp, MinusOp, NotOp with per-op folds
- Add Involution trait to NotOp for not(not(x)) -> x folding
- Replace createUnaryOp() with createInc/Dec/Minus/Not builders
- Split LLVM lowering into four separate patterns
- Split LoweringPrepare complex-type handling per unary op
- Update CIRCanonicalize and CIRSimplify for new op types
- Update all codegen files to use bool params instead of UnaryOpKind
[6 lines not shown]
[clang-tidy] Add redundant qualified alias check (#180404)
Introduce `readability-redundant-qualified-alias` to flag identity type
aliases that repeat a qualified name and suggest using-declarations when
safe. The check is conservative: it skips macros, elaborated keywords,
dependent types, and templates. `OnlyNamespaceScope` controls whether
local/class scopes are included (default `false`).
Depends on: #183940 #183941
[CIR] Split CIR_UnaryOp into individual operations
Split the monolithic cir.unary operation (which dispatched on a
UnaryOpKind enum) into four separate operations: cir.inc, cir.dec,
cir.minus, and cir.not.
This follows the same pattern used when cir.binop was split into
individual binary operations (AddOp, SubOp, etc.).
Changes:
- Add CIR_UnaryOpInterface with getInput()/getResult() methods
- Add CIR_UnaryOp and CIR_UnaryOpWithOverflowFlag base classes
- Define IncOp, DecOp, MinusOp, NotOp with per-op folds
- Add Involution trait to NotOp for not(not(x)) -> x folding
- Replace createUnaryOp() with createInc/Dec/Minus/Not builders
- Split LLVM lowering into four separate patterns
- Split LoweringPrepare complex-type handling per unary op
- Update CIRCanonicalize and CIRSimplify for new op types
- Update all codegen files to use bool params instead of UnaryOpKind
[6 lines not shown]
[clang][Driver][Darwin] Optionally use xcselect to find macOS SDK (#119670)
This is a scaled down version of https://reviews.llvm.org/D136315.
The intent is largely the same as before[^1], but I've scaled down the
scope to try to avoid the issues that the previous patch caused:
- the changes are now opt-in based on enabling `CLANG_USE_XCSELECT`
- this only works when targeting macOS on a macOS host (this is the only
case supported by `libxcselect`[^2])
- calling `libxcselect` is done only when the target is `*-apple-macos*`
to avoid breaking many tests
Another reason to leave this as opt-in for now is that there are some
bugs in libxcselect that need fixing before it is safe to use by default
for all users. This has been reported to Apple as FB16081077.
[^1]: See also https://reviews.llvm.org/D109460 and #45225.
[^2]: https://developer.apple.com/documentation/xcselect?language=objc
[CIR] Split CIR_UnaryOp into individual operations
Split the monolithic cir.unary operation (which dispatched on a
UnaryOpKind enum) into four separate operations: cir.inc, cir.dec,
cir.minus, and cir.not.
This follows the same pattern used when cir.binop was split into
individual binary operations (AddOp, SubOp, etc.).
Changes:
- Add CIR_UnaryOpInterface with getInput()/getResult() methods
- Add CIR_UnaryOp and CIR_UnaryOpWithOverflowFlag base classes
- Define IncOp, DecOp, MinusOp, NotOp with per-op folds
- Add Involution trait to NotOp for not(not(x)) -> x folding
- Replace createUnaryOp() with createInc/Dec/Minus/Not builders
- Split LLVM lowering into four separate patterns
- Split LoweringPrepare complex-type handling per unary op
- Update CIRCanonicalize and CIRSimplify for new op types
- Update all codegen files to use bool params instead of UnaryOpKind
[6 lines not shown]
[libc++][Android] Update Compiler for Android CI (#186531)
Upgrade Android compiler from r563880 to r584948b because libc++ does
not support LLVM 20 anymore
Fix alert deserialization crash on upgrade
This commit fixes an issue where middleware won't start when a system
is upgraded to latest nightlies because the recent alerts mypy refactor
changed alert args format (moving fields from `key` into required
dataclass fields in `args`). Pre-existing alerts
in `system_alert` have the old format and crash during deserialization
at startup. The migration deletes the affected rows; all are ephemeral
and regenerated by their alert sources within 60 seconds.
[CIR] Add Pure trait to IsFPClassOp
IsFPClassOp is a pure classification check on a floating-point value
with no memory effects. Mark it Pure to enable DCE and other
optimizations.
re(4), rge(4): improve Realtek driver man pages
Add D-Link DGE-530(T) and Killer E2600 to the re(4) HARDWARE list.
Both are supported by the driver but were missing from the man page.
Also add cross-references between re(4) and rge(4) in SEE ALSO,
as both are Realtek NIC drivers.
Signed-off-by: Christos Longros <chris.longros at gmail.com>
Reviewed by: adrian
Differential Revision: https://reviews.freebsd.org/D55745