<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/147341>147341</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Non-idempotency on 20.1.7
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          EddyXorb
      </td>
    </tr>
</table>

<pre>
    Try out the following codesnippet with clang-format 20.1.7 and the following clang-format file:
```yml
---
DisableFormat: true

AccessModifierOffset: -4
AlignAfterOpenBracket: Align
AlignConsecutiveAssignments: false
AlignConsecutiveDeclarations: false
AlignConsecutiveMacros:
 Enabled: true
  AcrossEmptyLines: true
  AcrossComments: false
AlignEscapedNewlines: Left
AlignOperands: true
AlignTrailingComments: true
AllowAllArgumentsOnNextLine: false
AllowAllConstructorInitializersOnNextLine: false
AllowAllParametersOfDeclarationOnNextLine: false
AllowShortBlocksOnASingleLine: Never
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: Empty
AllowShortLambdasOnASingleLine: All
AllowShortIfStatementsOnASingleLine: Never
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: Yes
BinPackArguments: false
BinPackParameters: false
BreakBeforeBinaryOperators: NonAssignment
BreakBeforeBraces: Allman
BreakBeforeInheritanceComma: false
BreakBeforeTernaryOperators: true
BreakConstructorInitializers: BeforeComma
BreakInheritanceList: BeforeComma
BreakStringLiterals: true
ColumnLimit: 120
BreakAfterAttributes: Always
CompactNamespaces: false
ConstructorInitializerAllOnOneLineOrOnePerLine: false
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 4
Cpp11BracedListStyle: true
DerivePointerAlignment: false
ExperimentalAutoDetectBinPacking: false
FixNamespaceComments: true
IncludeBlocks: Preserve
IndentCaseLabels: false
IndentGotoLabels: false
IndentPPDirectives: None
IndentWidth: 4
IndentWrappedFunctionNames: false
InsertNewlineAtEOF: true
KeepEmptyLinesAtTheStartOfBlocks: false
MaxEmptyLinesToKeep: 1
NamespaceIndentation: All
PointerAlignment: Left
ReflowComments: true
SortIncludes: false
PenaltyBreakBeforeFirstCallParameter: 1000
SortUsingDeclarations: false
SpaceAfterCStyleCast: false
SpaceAfterLogicalNot: false
SpaceAfterTemplateKeyword: true
SpaceBeforeAssignmentOperators: true
SpaceBeforeCpp11BracedList: false
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: true
SpaceBeforeParens: ControlStatements
SpaceBeforeRangeBasedForLoopColon: true
SpaceBeforeSquareBrackets: false
SpaceInEmptyBlock: false
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 1
SpacesInAngles: false
SpacesInCStyleCastParentheses: false
SpacesInConditionalStatement: false
SpacesInContainerLiterals: true
SpacesInParentheses: false
SpacesInSquareBrackets: false
Standard: Latest
StatementMacros: ["TEST_CLASS", "TEST_METHOD"]
UseTab: Never
UseCRLF: false
WrapNamespaceBodyWithEmptyLines: Never
---
Language: Cpp
DisableFormat: false

```

Then the following comment is not idempotent:

```cpp
//
//a \
//b
//
```

After formatting it, the "a" in the second line walks one space to the right. This can be repeated arbitrarily often.



</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyEV11v6jwS_jXhxgKFNPTjgovwtYteWtCBo7N7tZokk-CtY2ftSSn761_ZIRBKaKVK5-B5ZubxzPixA8bwXCKOvdHEG816UNFe6fE8TY__UjruxSo9jnf6yFRFjPbIMiWEOnCZs0SlaCQvSyR24LRniQCZ9zOlCyAW-IPh4ImBTL-6tVEZF-g9RJ4feY9-_XcshOdH_X7f86MZNxALXDiw9xAx0hVasB9FSYLGvKqUZxz1OssMOkQ_tEbBcxllhHpdopxoSN5rqzM0gKmSBpOK-AdGrgwFSjIWloEw2AGbYSJAA3Elv8W9QqKVqTfG5tLuIW3RZyyydjMvSjquuETTYZyqopvP3CRQYvqGB9G4rjCjxrwuUYNM2yHd-k4DF1zm7bhnu1CHSIhI55WzreUbfpJldp29htmNkq4SUnopOXEQ_P-of3DagIYCyeKyVhm_cdrulaaJUMm7Wctoy2UusAG-4QfqK-AUDK4gRnELvo26qGTimniDdS25wq6giFO4RUZCXOGW2ZaA8FS_H_mulCq_o3qAo5lohHc3xjPMuC21kr-QKi13x7KOq2QX_CfQBDOl8bUSZEcCt6S5zM0dAjssSgF0M_z_RuP50YTLDSTv59FpBznZLq2_Ml6ITLgEfXSDS6pGvSl5OZNf0BqSeuwjIQqQ19al3KPmBDJBO-lwJ-UO9U3O02lwqDszbmF1gDr4Cd1KuuKG7qDqMq84oQbRzjhVoirkihfcuQ4Dv3Fx3YyINI8rajZtO-O8ihISeoMCTdmUpNlqN_9IiLVcSzdua72WuEH9dfS6PZcyRUl_eEp7Cw5rIHFZuYHoMpflcOh6ldqabOnopL7Z8ww1_8CN4tLuUDSdbhGZf5aouV0FEVWkZkiY0GmmuMzb2AX_PNehQ-CWMhFVirWY2PWNRoP6o7ZZ6hf5aIetbf9QpO7ZNpsZ15hY0Tets9ZRj9OShrLEtBEgR_o6qkFNJ22PaL5etLbxF2J5uTMi2u1xS6BpnV121gR6hc8LdKesq5stz4_OlaopuQZeFK2rJaf75RdmQh066ru1-lfX-IrEBiUIOrbO3YJrQ1No3QeOle_7pzC_DZf5vXt2a1m7MzF18zQFQ932lcp5AuJN3bE3ovYXHg9Kty9nh6nJXhSoSydawC-zfpPyhLo-UlMl6rrfxrsSsbuoDWis62OPolbicgFdA3-BzHECBtOF0vbi-Sbo9n8V1Br7jnRb_KV0U-Xm7Z7R8aI9Grz1Nyf57XiMDM-YpYzspdjhvZSXxn-bZmmfY6m7MeFSlzs4Ai6tEN4Ic4P5IdU3NSOQKdTztQJCQ_ViTef8TGT29R0Eu_l295_pKtpuvSDwgilr1l7nu3-uZ3ZxNPP86LfBHcTtd8Vvg9Nfq0U7tVWa80mfqPT4h9P--sXZeNeP7RXIvILcifS0LLue303s9nu9_rnbo7z5PnC9ZdwwqYjxFItSUd2FLzESl84LFvav-Q8wbzQ9_4qvANfJ3Ylm9ScF2dScbPUsHS8IwAsCxmt2BhMlU2bFlR1AvBumJDJXIkbKQTTP9zRguz03LAHJYmQaSwTClIGOOWnQXByZygjl4LQRP-ql44f05eEFejgePo2GL_4ofA56-_Fz-AhZDHEcplmWPYdh5vsYD5_D5CWOX9LnHh8HfjDyn_yn4WMQhsEg85_xORy9DB8fsgQeQy_0sQAuBkJ8FAOl8x43psLxMHx6CIc94a6mcT1CEg_MWeth6emxderHVW680BfckLmEIU4Cx29K9s_NSY5MydPHW6_SYrwnKt2XjKt9zmlfxYNEFV6wsHFO__RLrf6LCXnBwmU3XrA40fsYB38HAAD__-_U99M">