[clang-format] Add AlignConsecutiveEnums (#194154)
Address #52983. Add ability to align enums similar to how bit fields are
done.
---------
Co-authored-by: Aaron Saw Min Sern <aaron at aaronsms.com>
This patch enables the fexec-charset option to control the execution charset of string literals. It sets the default internal charset, system charset, and execution charset for z/OS and UTF-8 for all other platforms.
[clang][deps] Use single controller instance for by-name scans (#197266)
This avoids creating redundant instances of `DependencyActionController`
in the by-name scanning APIs. NFCI
Reland "[Clang][CodeGen] Report when an alias points to an incompatible target" (#195550)
This relands #192397, which was reverted in #194106. The new version
includes the following fixes:
- Set an explicit triple in the `attr-alias.m` test because aliases are
not supported on Darwin.
- Relax the check to only diagnose mismatches in return types and
parameter lists, while ignoring exception specifications and other
attributes.
Original description follows:
Add checks to ensure that an alias and its target have compatible types:
- Generate an error if a function alias points to a variable or vice
versa.
- Issue a warning for mismatches in function types.
- Ignore type discrepancies for variables.
This behavior aligns with similar diagnostics in GCC.
Resolves: #47301
iSCSI ALUA: regression test for failover LUN-replace stall
Add an extended test that builds 2 targets (25 + 10 LUNs), opens an
iSCSI session to the standby on the 25-LUN target so the kernel has
tgt_devs to clean up during become_active, then triggers an ungraceful
failover via poweroff_vm. Asserts:
- /var/log/failover.log on the new master does not contain
'Failed to restart service "iscsitarget" after 15 seconds',
which would indicate the LUN-replace loop stalled.
- /sys/kernel/scst_tgt/async_lun_replace reads 0 after failover,
confirming reset_active released the parked cleanup work.
- All LUNs are reachable on the new master.
A function-scoped fixture handles recovery (start_vm, wait_for_backup,
wait_for_settle) so the cluster is restored to a clean two-node state
even if an assertion above failed.
Uses the dataset() asset helper rather than zvol() for lower
per-extent overhead at this scale.
Release parked async LUN-replace cleanup after DLM peer eviction
scst.async_lun_replace=1 now also tells the kernel to park the deferred
cleanup of old tgt_devs from each LUN replace until the flag is cleared.
This avoids stalling become_active on scst_dlm_lock_wait inside
scst_clear_reservation while the dead peer is still a DLM lockspace
member.
Add iscsi.scst.disable_async_lun_replace and call it from the end of
iscsi.alua.reset_active, after dlm.reset_active (which evicts the peer)
completes.
[clang] Don't warn on __COUNTER__ in system macros (#196689)
The introduction of extension and compatibility warnings means that
`__COUNTER__` has started causing warnings (and -Werror= build failures)
due to use of system APIs.
This PR simply ensures that these diagnostics don't get reported for
system macro expansions as well.
BSD.root.dist: Correct tag for /etc/sysctl.kld.d
This is only used by rc.subr and belongs in rc, not runtime.
Fixes: fa6d67cd16b5 ("BSD.root.dist: Add package tag for all directories")
MFC after: 3 days
Reviewed by: ivy
Differential Revision: https://reviews.freebsd.org/D56900
(cherry picked from commit 44338ccd12685621c4b1c57e692a4f27f5a655d3)
[DebugInfo] Robustify DISubprogram upgrade (#190611)
The bitcode upgrade process for DISubprogram was fragile and depended on
the exact order in which DICompileUnit, DISubprogram, and the list of
DISubprograms were emitted. This would work out okay with bitcode
written by standard LLVM, but was not a rule that the old format had.
This commit makes the upgrade process work when these metadata nodes are
emitted in any order, and updates the existing upgrade-subprogram.ll
test to cover all orders. The corresponding .bc file was written by a
patched version of LLVM 3.7 that provides a hook to force nodes to be
emitted in a specific order and can be inspected with llvm-bcanalyzer
--dump.
fsck_msdosfs: fix FAT header correction not persisting in cache mode
When fsck_msdosfs runs with FAT32 cache mode (used for large
filesystems that cannot be mmap'd), a detected FAT header correction
was written into the in-memory buffer but the corresponding cache
entry (fat32_cache_allentries[0]) was never marked dirty. As a
result, fat_flush_fat32_cache_entry() skipped it, the corrected
bytes were never written to disk, and copyfat() propagated the
uncorrected on-disk data to all backup FAT copies. Every subsequent
fsck run would repeat the same "FAT starts with odd byte sequence /
FIXED" cycle indefinitely.
Fix by marking fat32_cache_allentries[0].dirty = true after applying
the in-memory correction, ensuring the chunk is flushed before
copyfat() runs.
Approved by: re (cperciva)
Obtained from: https://android-review.googlesource.com/c/platform/external/fsck_msdos/+/4047981
[2 lines not shown]