[ADT] Reorder classes in FoldingSet.h (NFC) (#221092)
This patch reorders classes in FoldingSet.h in bottom-up order:
- FoldingSetNode
- FoldingSetIterator
- FoldingSetBase
This setup brings two benefits:
- Eliminates the forward declaration of FoldingSetIterator.
- Enables consistent use of "FoldingSetNode *" instead of "Node *"
and "void *", eliminating several static_casts.
Assisted-by: Antigravity
[clangd] Avoid invalid include-fixer fuzzy-find queries (#212134)
Fixes #200571.
`operator::align_val_t` is parsed as a conversion-function-id, whose
target type is `::align_val_t`. During typo recovery, Sema correctly
passes clangd a `DeclarationNameInfo` with kind
`CXXConversionFunctionName`; it is not a malformed ordinary identifier.
`UnresolvedNameRecorder` previously flattened every
`DeclarationNameInfo` through `getAsString()`. For a conversion-function
name, that presentation string contains the conversion target type and
can therefore contain a qualified type such as `std::align_val_t`. The
recorder then incorrectly stored that string as `UnresolvedName::Name`
and forwarded it as `FuzzyFindRequest::Query`.
Reject only `CXXConversionFunctionName` before this lossy conversion.
Such a name cannot be represented by IncludeFixer's `Name + Scopes`
model: its embedded type qualification is not the scope of an unresolved
[5 lines not shown]
Firewall: migrate normalization to MVC rules and establish new settings menu (#10826)
Add two automatic migrations for the legacy normalization configuration.
The first converts supported scrub entries into non-quick match rules at
the start of the ruleset, and discards rules that only reference defunct interfaces.
The second copies the global scrub controls into model-owned firewall settings.
Introduce the new tabbed Firewall Settings page with filter scrubbing
options and generate modern reassembly, random ID, and interface MSS
rules from these settings. Remove the legacy normalization pages and
rendering code while retaining their configuration for optional cleanup via ConfigMaintenance.
Move the volatile SNAT mode into the shared settings model without
changing its current GUI. This establishes the settings structure for
additional tabs and allows the remaining legacy advanced firewall
settings to move there eventually.
[lld][ELF] Introduce an option to keep data section prefix. (#148985)
https://discourse.llvm.org/t/rfc-profile-guided-static-data-partitioning/83744
proposes to partition a static data section (like `.data.rel.ro`) into
two sections, one grouping the cold ones and the other grouping the
rest.
This change implements section grouping for {`.data.rel.ro`, `.data`,
`.rodata`, `.bss`} to group `.hot` input sections to `.<section>.hot` in
the output and to group `.unlikely` input sections to
`.<section>.unlikely`. The grouping functionality is gated under new lld
option `-z,keep-data-section-prefix`. The mapping for hot ones is
illustrated below.
[bar] is a placeholder to represent optional global variable name below
* `.data.rel.ro.hot.[bar]` => `.data.rel.ro.hot`
* `.data.hot.[bar]` => `.data.hot`
* {`.rodata.hot.[bar]`, `.rodata.str.*.hot.`, `.rodata.cst*.hot.`} =>
.rodata.hot
[10 lines not shown]
libproc: link against libctf if MK_CTF != no instead of MK_CDDL != no
Logic prior to this change would incorrectly try linking when MK_CDDL != no,
instead of MK_CTF != no, which could result in the library and the tests being
broken if/when MK_CTF == no and MK_CDDL != no (an uncommon, but possible
combination with today's build knobs).
This change updates the conditional to correctly track the value of MK_CTF, which
in turn is properly toggled to no if/when MK_CDDL == no as it's a dependent build
knob.
This [niche] build bug has been present in FreeBSD since 2014.
MFC after: 1 week
(cherry picked from commit f2e6a8b9e50c7552037cb635f17b955ead84a813)
libproc: link against libctf if MK_CTF != no instead of MK_CDDL != no
Logic prior to this change would incorrectly try linking when MK_CDDL != no,
instead of MK_CTF != no, which could result in the library and the tests being
broken if/when MK_CTF == no and MK_CDDL != no (an uncommon, but possible
combination with today's build knobs).
This change updates the conditional to correctly track the value of MK_CTF, which
in turn is properly toggled to no if/when MK_CDDL == no as it's a dependent build
knob.
This [niche] build bug has been present in FreeBSD since 2014.
MFC after: 1 week
(cherry picked from commit f2e6a8b9e50c7552037cb635f17b955ead84a813)
libproc: link against libctf if MK_CTF != no instead of MK_CDDL != no
Logic prior to this change would incorrectly try linking when MK_CDDL != no,
instead of MK_CTF != no, which could result in the library and the tests being
broken if/when MK_CTF == no and MK_CDDL != no (an uncommon, but possible
combination with today's build knobs).
This change updates the conditional to correctly track the value of MK_CTF, which
in turn is properly toggled to no if/when MK_CDDL == no as it's a dependent build
knob.
This [niche] build bug has been present in FreeBSD since 2014.
MFC after: 1 week
(cherry picked from commit f2e6a8b9e50c7552037cb635f17b955ead84a813)
rc.d/dumpon: minor hardening/tightening up
- Scope local variables properly to each function.
- Quote variables that should be treated as single words.
- Replace `${cmd}; if [ $? -eq 0 ]` with `if ${cmd}` for simplicity.
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D57899
(cherry picked from commit fc186c24b1e72fa3eba91c166f7a554a5cea5828)
rc.d/dumpon: minor hardening/tightening up
- Scope local variables properly to each function.
- Quote variables that should be treated as single words.
- Replace `${cmd}; if [ $? -eq 0 ]` with `if ${cmd}` for simplicity.
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D57899
(cherry picked from commit fc186c24b1e72fa3eba91c166f7a554a5cea5828)
rc.d/dumpon: minor hardening/tightening up
- Scope local variables properly to each function.
- Quote variables that should be treated as single words.
- Replace `${cmd}; if [ $? -eq 0 ]` with `if ${cmd}` for simplicity.
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D57899
(cherry picked from commit fc186c24b1e72fa3eba91c166f7a554a5cea5828)
linux_firmware: reformat error print-out
This makes it easier to grep for the error message to better understand
the call stack when loading firmware modules fails.
Fix a cosmetic-only style(9) bug while here in the same function related
to another logging message.
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D58380
(cherry picked from commit a594783bac906ecc4f6528d7d576215f85a21bda)
linux_firmware: reformat error print-out
This makes it easier to grep for the error message to better understand
the call stack when loading firmware modules fails.
Fix a cosmetic-only style(9) bug while here in the same function related
to another logging message.
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D58380
(cherry picked from commit a594783bac906ecc4f6528d7d576215f85a21bda)
linux_firmware: reformat error print-out
This makes it easier to grep for the error message to better understand
the call stack when loading firmware modules fails.
Fix a cosmetic-only style(9) bug while here in the same function related
to another logging message.
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D58380
(cherry picked from commit a594783bac906ecc4f6528d7d576215f85a21bda)
[test] libatexit: leverage __{BEGIN,END}_DECLS
This change converts the longhand form of `extern "C" {` and its
corresponding `}` into `__BEGIN_DECLS` and `__END_DECLS`, respectively.
The new form is much easier to grep for and is a best practice to use in
the FreeBSD tree.
This is meant to be a non-functional change.
MFC after: 1 week
(cherry picked from commit bc81728c00b200297ac556974b5373c804077a17)
[test] libatexit: leverage __{BEGIN,END}_DECLS
This change converts the longhand form of `extern "C" {` and its
corresponding `}` into `__BEGIN_DECLS` and `__END_DECLS`, respectively.
The new form is much easier to grep for and is a best practice to use in
the FreeBSD tree.
This is meant to be a non-functional change.
MFC after: 1 week
(cherry picked from commit bc81728c00b200297ac556974b5373c804077a17)
[test] libatexit: leverage __{BEGIN,END}_DECLS
This change converts the longhand form of `extern "C" {` and its
corresponding `}` into `__BEGIN_DECLS` and `__END_DECLS`, respectively.
The new form is much easier to grep for and is a best practice to use in
the FreeBSD tree.
This is meant to be a non-functional change.
MFC after: 1 week
(cherry picked from commit bc81728c00b200297ac556974b5373c804077a17)
cpuset(9): correct markup
- Remove `\(em` from .Nm section as it's not valid mandoc markup.
- Remove the section from the .Nm directive (it's handled under the .Dt
directive).
MFC after: 1 week
Reported by: make manlint
(cherry picked from commit 5007a5d682d3737fe9b49c4cd69e04d025d209ec)
cpuset(9): correct markup
- Remove `\(em` from .Nm section as it's not valid mandoc markup.
- Remove the section from the .Nm directive (it's handled under the .Dt
directive).
MFC after: 1 week
Reported by: make manlint
(cherry picked from commit 5007a5d682d3737fe9b49c4cd69e04d025d209ec)
cpuset(9): correct markup
- Remove `\(em` from .Nm section as it's not valid mandoc markup.
- Remove the section from the .Nm directive (it's handled under the .Dt
directive).
MFC after: 1 week
Reported by: make manlint
(cherry picked from commit 5007a5d682d3737fe9b49c4cd69e04d025d209ec)