<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/110680>110680</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Weird reflow of doxygen comments.
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
ManuelSchneid3r
</td>
</tr>
</table>
<pre>
Without extra lines around doxygen comments and line break after brief comment reflow does not respect MaxColumn:
```cpp
// ---------------------------------------------------------------------------------------- 100 -->|
/// Returns the item identifier.
///
/// Has to be unique per extension. This function is involved in several time critical operartions
/// such as indexing and sorting. Return a string that is as short as possible as fast as possible.
```
else fine
```cpp
// ---------------------------------------------------------------------------------------- 100 -->|
///
/// Returns the item identifier.
/// Has to be unique per extension. This function is involved in several time critical
/// operartions such as indexing and sorting. Return a string that is as short as possible as
/// fast as possible.
///
[[nodiscard]] virtual QString id() const = 0;
/// Returns the item identifier. Has to be unique per extension. This function is involved in
/// several time critical operartions such as indexing and sorting. Return a string that is as
/// short as possible as fast as possible.
[[nodiscard]] virtual QString id() const = 0;
```
clang-format: stable 19.1.0 (bottled)
<details>
```
---
Language: Cpp
AccessModifierOffset: -4
AlignAfterOpenBracket: Align
AlignArrayOfStructures: None
AlignConsecutiveAssignments:
Enabled: false
AcrossEmptyLines: false
AcrossComments: false
AlignCompound: false
PadOperators: false
AlignConsecutiveBitFields:
Enabled: false
AcrossEmptyLines: false
AcrossComments: false
AlignCompound: false
PadOperators: false
AlignConsecutiveDeclarations:
Enabled: false
AcrossEmptyLines: false
AcrossComments: false
AlignCompound: false
PadOperators: false
AlignConsecutiveMacros:
Enabled: false
AcrossEmptyLines: false
AcrossComments: false
AlignCompound: false
PadOperators: false
AlignEscapedNewlines: DontAlign
AlignOperands: Align
AlignTrailingComments:
Kind: Always
OverEmptyLines: 0
AllowAllArgumentsOnNextLine: true
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortBlocksOnASingleLine: Never
AllowShortCaseLabelsOnASingleLine: false
AllowShortEnumsOnASingleLine: true
AllowShortFunctionsOnASingleLine: All
AllowShortIfStatementsOnASingleLine: Never
AllowShortLambdasOnASingleLine: All
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: Yes
AttributeMacros:
- __capability
BinPackArguments: false
BinPackParameters: false
BitFieldColonSpacing: Both
BraceWrapping:
AfterCaseLabel: false
AfterClass: true
AfterControlStatement: Never
AfterEnum: false
AfterExternBlock: false
AfterFunction: true
AfterNamespace: false
AfterObjCDeclaration: false
AfterStruct: true
AfterUnion: false
BeforeCatch: false
BeforeElse: false
BeforeLambdaBody: false
BeforeWhile: false
IndentBraces: false
SplitEmptyFunction: false
SplitEmptyRecord: false
SplitEmptyNamespace: false
BreakAfterAttributes: Never
BreakAfterJavaFieldAnnotations: false
BreakArrays: true
BreakBeforeBinaryOperators: All
BreakBeforeConceptDeclarations: Always
BreakBeforeBraces: Allman
BreakBeforeInlineASMColon: OnlyMultiline
BreakBeforeTernaryOperators: true
BreakConstructorInitializers: AfterColon
BreakInheritanceList: BeforeColon
BreakStringLiterals: true
ColumnLimit: 100
CommentPragmas: '^ IWYU pragma:'
CompactNamespaces: false
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 4
Cpp11BracedListStyle: true
DerivePointerAlignment: false
DisableFormat: false
EmptyLineAfterAccessModifier: Never
EmptyLineBeforeAccessModifier: LogicalBlock
ExperimentalAutoDetectBinPacking: false
FixNamespaceComments: true
ForEachMacros:
- forever
- foreach
- Q_FOREACH
- BOOST_FOREACH
IfMacros:
- KJ_IF_MAYBE
IncludeBlocks: Preserve
IncludeCategories:
- Regex: '^<Q.*'
Priority: 200
SortPriority: 200
CaseSensitive: true
IncludeIsMainRegex: '(Test)?$'
IncludeIsMainSourceRegex: ''
IndentAccessModifiers: false
IndentCaseBlocks: false
IndentCaseLabels: false
IndentExternBlock: AfterExternBlock
IndentGotoLabels: true
IndentPPDirectives: None
IndentRequiresClause: true
IndentWidth: 4
IndentWrappedFunctionNames: false
InsertBraces: false
InsertNewlineAtEOF: false
InsertTrailingCommas: None
IntegerLiteralSeparator:
Binary: 0
Decimal: 0
Hex: 0
JavaScriptQuotes: Leave
JavaScriptWrapImports: true
KeepEmptyLinesAtTheStartOfBlocks: false
LambdaBodyIndentation: Signature
LineEnding: DeriveLF
MacroBlockBegin: ''
MacroBlockEnd: ''
MaxEmptyLinesToKeep: 1
NamespaceIndentation: None
ObjCBinPackProtocolList: Auto
ObjCBlockIndentWidth: 4
ObjCBreakBeforeNestedBlockParam: true
ObjCSpaceAfterProperty: false
ObjCSpaceBeforeProtocolList: true
PackConstructorInitializers: BinPack
PenaltyBreakAssignment: 150
PenaltyBreakBeforeFirstCallParameter: 300
PenaltyBreakComment: 500
PenaltyBreakFirstLessLess: 400
PenaltyBreakOpenParenthesis: 0
PenaltyBreakString: 600
PenaltyBreakTemplateDeclaration: 10
PenaltyExcessCharacter: 50
PenaltyIndentedWhitespace: 0
PenaltyReturnTypeOnItsOwnLine: 300
PointerAlignment: Right
PPIndentWidth: -1
QualifierAlignment: Leave
ReferenceAlignment: Pointer
ReflowComments: true
RemoveBracesLLVM: false
RemoveSemicolon: false
RequiresClausePosition: OwnLine
RequiresExpressionIndentation: OuterScope
SeparateDefinitionBlocks: Leave
ShortNamespaceLines: 1
SortIncludes: CaseSensitive
SortJavaStaticImport: Before
SortUsingDeclarations: Lexicographic
SpaceAfterCStyleCast: true
SpaceAfterLogicalNot: false
SpaceAfterTemplateKeyword: false
SpaceAroundPointerQualifiers: Default
SpaceBeforeAssignmentOperators: true
SpaceBeforeCaseColon: false
SpaceBeforeCpp11BracedList: false
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: true
SpaceBeforeParens: ControlStatements
SpaceBeforeParensOptions:
AfterControlStatements: true
AfterForeachMacros: true
AfterFunctionDefinitionName: false
AfterFunctionDeclarationName: false
AfterIfMacros: true
AfterOverloadedOperator: false
AfterRequiresInClause: false
AfterRequiresInExpression: false
BeforeNonEmptyParentheses: false
SpaceBeforeRangeBasedForLoopColon: true
SpaceBeforeSquareBrackets: false
SpaceInEmptyBlock: false
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 1
SpacesInAngles: Never
SpacesInConditionalStatement: false
SpacesInContainerLiterals: false
SpacesInCStyleCastParentheses: false
SpacesInLineCommentPrefix:
Minimum: 1
Maximum: -1
SpacesInParentheses: false
SpacesInSquareBrackets: false
Standard: Auto
StatementAttributeLikeMacros:
- Q_EMIT
StatementMacros:
- Q_UNUSED
- QT_REQUIRE_VERSION
- Q_CLASSINFO
- Q_ENUM
- Q_ENUM_NS
- Q_FLAG
- Q_FLAG_NS
- Q_GADGET
- Q_GADGET_EXPORT
- Q_INTERFACES
- Q_MOC_INCLUDE
- Q_NAMESPACE
- Q_NAMESPACE_EXPORT
- Q_OBJECT
- Q_PROPERTY
- Q_REVISION
- Q_DISABLE_COPY
- Q_SET_OBJECT_NAME
- QT_BEGIN_NAMESPACE
- QT_END_NAMESPACE
- QML_ADDED_IN_MINOR_VERSION
- QML_ANONYMOUS
- QML_ATTACHED
- QML_DECLARE_TYPE
- QML_DECLARE_TYPEINFO
- QML_ELEMENT
- QML_EXTENDED
- QML_EXTENDED_NAMESPACE
- QML_EXTRA_VERSION
- QML_FOREIGN
- QML_FOREIGN_NAMESPACE
- QML_IMPLEMENTS_INTERFACES
- QML_INTERFACE
- QML_NAMED_ELEMENT
- QML_REMOVED_IN_MINOR_VERSION
- QML_SINGLETON
- QML_UNAVAILABLE
- QML_UNCREATABLE
- QML_VALUE_TYPE
TabWidth: 4
UseTab: Never
WhitespaceSensitiveMacros:
- BOOST_PP_STRINGIZE
- CF_SWIFT_NAME
- NS_SWIFT_NAME
- PP_STRINGIZE
- STRINGIZE
...
```
</details>
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzUWt1T47iy_2vMiwoqHzAMDzw4jsN4J4kzcRh27ktKsTuJdhTJK8kQ7l9_S5K_bWDunt2qs9Q5LFH_1Gr1d2uCpSQHBnDv3Eycm-kFztSRi_sFZhnQKD4yIMlYXOx48nr_RNSRZwrBWQmMKGEgERY8YwlK-Pn1AAzF_HQCpiTCLDEItBOAfyK8VyDQThDYFxgkYE_5C0o4SMS4_ixTiBVa4LPHaXZizth1BlNnUPz-NLD_i9MU5UujmTOaoct_6AcNBwN0eemMfefWsycihJA9VR-8BpUJJpE6AiIKTogkwBTZExBXPfg-Fl-wRIqjHaCMkT8zQCkIrWFgknB2hTZHItE-Y7EinCEiEWHPnD5DgghDEp5BYIoUOQGKBVEkxhTxFAQWGi_7TpRZfERYM0rgTNjB2EpyoQg7XOVXQhhJJTRRHbHSx2KJ5JELpf9IuZRkR0H_vceysXbVMpb9CFQC2hMG_62m_Bus-w-Ysu-UmnX_XlP2HfaGdftUZxLIhPGEyBiLxLmZOjdT9EyEyjBF3yIrA0mc0WdndIdizqRCzniKBs54Uo_zXzfCf6Tx3tD4KJ7-ssZ7T_t_xJPZ-TdouBmW9d8xxexwuefihJUzdpFUWIs0vLsaXg2QM_q840pRSJzRXWPz2EtAYUKljq2-dG0_Xl5e2j_mmB0yfAB9hpemdtGNY5BywRNj2HC_l2CEuLzO6ZQcmKuLSJgCmwgc_7QAQ6hjhMCv4T5SIotVJkBq0JIXicdgPM4kxJkiz-Ca8mdKVlltkM_0zRO9s_jZYyqhsIQbCy6lf0rV61wXQQ3sAXh5LeySrRCnVJdOe0qDvsJJqF1OcdHe3JZ_QtSMAE1q0n8k_l-Q_gPx3xW-eXpb_inEFAtsa9W_0QALrI_6N2nflzFOIVnCCy0EmHKm2oFk2LAk59KmbgQmlLBDTc5ChK_EyuXSF_xa5r3wGUTz1mhQ8KP8xaXUFYfM8ArZEs5K4zRMiQyawBUW-AQKhAz3Nf95d1ukU-2E8vinDJkbEXagUECXOum3sR6WMMc7oF18Q6EF3mfZqQvtk2KWl6Mu2qW0DQ72kcIKcr38iuBzfNol-JeYzzlPP7ieNuFEd_Am905hTxjRwttCt3lNoZ1fmzt-ATeBPRewyKjSHgW2inXDrsRv4JRSrNqpA_2A3NlcpQTZZaobm5dou41xineEEvVqVyeErXD8s_S-1sE5ufK5Dt0mYI9TzqIUx4QdNGTC1TFHCBzDk8BpakllIGv9lG7WzQOGTLGUZSqpvKkgc6YEp6WLtJzCgrRnVtmoe4Z_ViCYiY1-IQqHbTp0TlziE8gUx9CTqUy53v3h1SzVPsFgbLEuZOwc8cjyjd0LWN_xsIqPHdktzdcr7-y14TLhyWubgaU_HQktGTT2B0w3osa6PakWoSilRJmUV1fgG5A1xFx003kFaOi57n9lqJVuL1tuUEF-w8_YeKvLGFdV6HT46SZKdg1Si9cJYVi8NmpNmWFqMI-zGFLVjtV6bagzLZXpUnrCrAMImE4RbrQw4aaBIaOvZe7o4DcgOmK2rqNrufE_LgKd2zAl_5uHeR5j-qQKH7AjCKIwi2FOpPHa4qpNoE1kc6L0RNE62b5vzMmJGAbDwaBYN-V0JfDhhK0BnNGtc-Oj4OnHI0rNus4ho9tyQ4pjVXpH25z9t7Ou-0QSZcLmusQqwjJjpTcQaTocGiMl-u6ReqWtMjcFQZ5hxQnTHknz3rol1JRI3SPNylGjETlll2C9ujEYtDy7hFoLdLFzftATnE1udss5BUG0UJi6meJTUBCrPMvnubsmzIycS93We7LqxjMufBwfe2qNFqnKxfkCjo_VwrftLFz7rvelWpqEYbRpLgf7HuZff9sGs-3C_THJh66AxTRLwPY4VqkrARLEMzQAHlZw4IJAk98aDnDW26y_OWPv25UzqhwNGX6EC104q952VHiu_hBxoVqYiq4rXaTnct01W2qlxFy2QC4wYQ1RRp83IJWeOcczZ3RdytPYEfFMxNDcV-K0Izc9ox0kFqMFrLTXS7YNYS-5VUU7lbUGfeCKV5zqStDU1WpKBMRaS63Z1dLX8GdGBEiP4kxCH4cyavXPdYOiuxBIinpkPLtzGwnizapmqfno4Co_nPVur08HuHMLBQcQeV6MIMUmNdec0ZYWvav0rSnE5IRpfagqaV-s0fPPusRFsSCp-pbxvBbOARdBUJG1LoJTykU7oL8CpNWk4qrNESKFhQr3vd5RNRBWx2WbE5EDwyoTBY4w8FmSpxjzY5PlPH9AM0FujpjAgbC2I1dkv5hZm-RzJfSG60uYymKpZQ5ryViZRfdpRa8ruOIxp0V502myBtIi9JcHQ66K7xKkgsTgTfvcVLMG637ZpvmV4CkI1W7CSpDl2Jas4qblfqeS5zfLscAwVa-20ynff4y2bgZdiD16RoRUHq5Nn3rDeNCzIa8Tmn7TRzes5iCl_r9RXx8qTIGtsACmjiCJrLl4HWWbDE381MekZ1ay_UYD6p91dvSOWOA4v1hLEdbekDwdiara0CamGvVCFigZvrBioqy01NMXrMnhqHLyqpPALnMH_pZhanJ3Y28tsNewBwEshgYgP7CEUP7SX8XXcOLPef85n39ftPzQkiM4kbhoPBvUekpecUkKRRdKaMD8cypAyrLLKs0SZnoYinmab8iTI1Rjd5WBalc3s3wZ4eX7Sq45XZTzYlkk9GYpLlEmN2ppYpsXq9a2wjxKwg7tbn4OZxLzg8DpkcQ5toxsz3SJHm5HbIXIm7Qlb_eJFaTw46_w-tKdkyzO_ENkbvDSXezzFuxxRlUNnPeLZfC_MSDUsFpnXo_t65Bmd_wOsJmhSra9B9fmjfeBJlmYC7SfBeQb2DBtvbv2vyrI3sF_ZpvZsjXtQeRtRuW-2knff2Ooudbb4FpD3HwvsC8OzyAoxwmUL6H9XIpwDFjVSnWeJipQFbVvvDQsOTMVuEzand6qZoA1ZgeYYAnJjIs55-n7to3-zLAdj39C54kqsoXdHN73jFOnfyCczMfm7utumU4MLGAuO9A8odQGsoLqcZYYi-Pm41TnPANVmLCyI-yXK2BVHvnoDoHJueUoDXtyrrn4gjByqr-IoeJqCC3wuaBdtu778aHv20hhlmBR_2eBqq0qVVQ-4czJz77Xy29bfxFsWpt6cY_Lx8if1lY227X_7TFY-9vv_joKwmUd7c3dKAqWs7Bx1PJx0f68XUaN6XXuPrQ_VxC98uBOH_xNHWNXtv7vq3DdIATLjb-euZ7fOGIRettg6c0fp359eeku_Gjlev2LPdzDyW--11hZrcOVv978qK-t_e9BWznTIHInc3_rhasGNvI3OVdzcEPXE_8hWPYKudn6y2kvZTHfutOpP90Gy-0iWIbrHktpzDJc_liEj1FrebNxvS8Nky_m26nvzd21v938WPlvU1qWX8y3_txf-MtNa_H3jb-cto8oVt-6k__7Zu32X2UWrv3goX_xLXbBYmVli7oOkyOK5eZGzW_af7G1vwi_f6j4KFg-zP1Ne_lx6X53g7l2kYYYj0tv7bub2npO-O7OH-sW2eBdY2KvhvZHCRu8a715VS142cL1ZAD7jLRabaPNOlg-BP9TE8KbbaOnYNZ222XUu9zPo7V0ddX_tZ_899hzRrPqWwIXyf04uRvf4Qu4H96Obm_vRrfXtxfH-5vhLoFkfD28xfB5OL4bxLfD0X5_d_f57jMe7AYX5H40GF0PB4Ph8Hp0c_3p6m4AOB7CHt8O98O728S5HsAJE3pF6fPpiovDBZEyg_vhcPDp8-CCmmcX81230YjBCzJUZzRybqYX4l5vutxlB-lcDyiRSlZsFFEU7p-AiKT44hrfd772dnWRCXp_VCo15jBf8zgQdcx2VzE_OaOZ5pf_5zIV_A-IlTOaGSmkM5rlYj7fj_4vAAD__wL3cCI">