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

    <tr>
        <th>Summary</th>
        <td>
            clang-format - using curly braces breaks the behavior of 'AllowShortIfStatementsOnASingleLine'
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
      </td>
    </tr>

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

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

<pre>
    clang version 13.0.1
Target: x86_64-pc-linux-gnu<br/><br/>

This is an example of `AllowShortIfStatementsOnASingleLine` set to `AllIfsAndElse`:
```
if (condition) x = 1;
else x = 0;
```

That's fine, but I always use curly braces with if-else statements and expect to see this:
```
if (condition) { x = 1; }
else { x = 0; }
```

But this is what actually happens:
```
if (condition) { x = 1; }
else {
    x = 0;
}
```

<details>
  <summary>.clang-format</summary>

```
---
Language:        Cpp
# BasedOnStyle:  LLVM
AccessModifierOffset: -2
AlignAfterOpenBracket: Align
AlignConsecutiveMacros: None
AlignConsecutiveAssignments: None
AlignConsecutiveBitFields: None
AlignConsecutiveDeclarations: None
AlignEscapedNewlines: Left
AlignOperands:   Align
AlignTrailingComments: true
AllowAllArgumentsOnNextLine: true
AllowAllConstructorInitializersOnNextLine: true
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortBlocksOnASingleLine: Always
AllowShortCaseLabelsOnASingleLine: true
AllowShortEnumsOnASingleLine: true
AllowShortFunctionsOnASingleLine: All
AllowShortIfStatementsOnASingleLine: AllIfsAndElse
AllowShortLambdasOnASingleLine: All
AllowShortLoopsOnASingleLine: true
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: Yes
AttributeMacros:
  - __capability
BinPackArguments: false
BinPackParameters: false
BraceWrapping:
  AfterCaseLabel:  true
  AfterClass:      true
  AfterControlStatement: true
  AfterEnum:       true
  AfterFunction:   true
  AfterNamespace:  true
  AfterObjCDeclaration: true
  AfterStruct:     true
  AfterUnion:      true
  AfterExternBlock: true
  BeforeCatch:     true
  BeforeElse:      true
  BeforeLambdaBody: true
  BeforeWhile:     true
  IndentBraces:    false
  SplitEmptyFunction: false
  SplitEmptyRecord: false
  SplitEmptyNamespace: false
BreakBeforeBinaryOperators: NonAssignment
BreakBeforeConceptDeclarations: true
BreakBeforeBraces: Custom
BreakBeforeInheritanceComma: false
BreakInheritanceList: AfterColon
BreakBeforeTernaryOperators: true
BreakConstructorInitializersBeforeComma: false
BreakConstructorInitializers: AfterColon
BreakAfterJavaFieldAnnotations: true
BreakStringLiterals: true
ColumnLimit:     80
CommentPragmas:  '^ IWYU pragma:'
CompactNamespaces: false
ConstructorInitializerAllOnOneLineOrOnePerLine: true
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 4
Cpp11BracedListStyle: true
DeriveLineEnding: true
DerivePointerAlignment: false
DisableFormat:   false
EmptyLineBeforeAccessModifier: Never
ExperimentalAutoDetectBinPacking: false
FixNamespaceComments: false
ForEachMacros:
  - foreach
  - Q_FOREACH
  - BOOST_FOREACH
StatementAttributeLikeMacros:
  - Q_EMIT
IncludeBlocks:   Preserve
IncludeCategories:
  - Regex:           '^"(llvm|llvm-c|clang|clang-c)/'
    Priority:        2
    SortPriority:    0
    CaseSensitive:   false
  - Regex:           '^(<|"(gtest|gmock|isl|json)/)'
    Priority:        3
    SortPriority:    0
    CaseSensitive:   false
  - Regex:           '.*'
    Priority:        1
    SortPriority:    0
    CaseSensitive:   false
IncludeIsMainRegex: '(Test)?$'
IncludeIsMainSourceRegex: ''
IndentCaseLabels: true
IndentCaseBlocks: true
IndentGotoLabels: true
IndentPPDirectives: BeforeHash
IndentExternBlock: AfterExternBlock
IndentRequires:  false
IndentWidth:     4
IndentWrappedFunctionNames: true
InsertTrailingCommas: None
JavaScriptQuotes: Leave
JavaScriptWrapImports: true
KeepEmptyLinesAtTheStartOfBlocks: false
MacroBlockBegin: ''
MacroBlockEnd:   ''
MaxEmptyLinesToKeep: 1
NamespaceIndentation: All
ObjCBinPackProtocolList: Auto
ObjCBlockIndentWidth: 4
ObjCBreakBeforeNestedBlockParam: true
ObjCSpaceAfterProperty: false
ObjCSpaceBeforeProtocolList: true
PenaltyBreakAssignment: 2
PenaltyBreakBeforeFirstCallParameter: 19
PenaltyBreakComment: 300
PenaltyBreakFirstLessLess: 120
PenaltyBreakString: 1000
PenaltyBreakTemplateDeclaration: 10
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 60
PenaltyIndentedWhitespace: 0
PointerAlignment: Left
ReflowComments:  true
SortIncludes:    true
SortJavaStaticImport: Before
SortUsingDeclarations: true
SpaceAfterCStyleCast: false
SpaceAfterLogicalNot: false
SpaceAfterTemplateKeyword: false
SpaceBeforeAssignmentOperators: true
SpaceBeforeCaseColon: false
SpaceBeforeCpp11BracedList: false
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: true
SpaceBeforeParens: ControlStatements
SpaceAroundPointerQualifiers: Default
SpaceBeforeRangeBasedForLoopColon: true
SpaceInEmptyBlock: false
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 1
SpacesInAngles:  false
SpacesInConditionalStatement: false
SpacesInContainerLiterals: true
SpacesInCStyleCastParentheses: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
SpaceBeforeSquareBrackets: false
BitFieldColonSpacing: Both
Standard:        Latest
StatementMacros:
  - Q_UNUSED
  - QT_REQUIRE_VERSION
TabWidth:        8
UseCRLF:         false
UseTab:          Never
WhitespaceSensitiveMacros:
  - STRINGIZE
  - PP_STRINGIZE
  - BOOST_PP_STRINGIZE
  - NS_SWIFT_NAME
  - CF_SWIFT_NAME
...
```
</details>

Is it the expected behavior?
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy1WVtz6jgS_jXkxQVFDATywAMYmGGHAAEyqdkXStgCdI6RPJKcwP76bUm-yBeSs1WzVC6g_tTqbnW3PpkDC25DP0T05HxgLgijzmOn1W49NtqTRnu0Q_yEZaMzcq6Dp_1Ttxn5zZDQ-No80bjR8Q684c4anan9Vk9Mpp-JcOAHUQdf0SUKscOOTuOpPQpD9rk9My7nx61EEl8wlWJFR1tCTyFeEIoB5QgsHcmSCfOjGNFgGgolApOSheC9-dEfCah3Bz6jAZHgTMN9dq5OozNxHhudsYFg0JAMtrPBkprUfCQbbl84R2WP6zmHWDpzB4Wf6CacGNT4MQ9vzoEjHwvnk8izQ45NvYDIvALvA3A_wr52RmDsSIjL_-BBoz-2vICPE8uTXNguCGs9GoMDMtmUT_DOQb6MUQg-nFEUYfpPWmU-OfCqBPtLGyGXAiwRCUWWTQ4o8ER8uSB-g8GWTtjmkfELbFDHg8TLhQVVRf3NZtO8WcD0GJ2wSuzk5UVRMsftOGMkcLCiW3kLDWax-PPFiEc-bLV4YQE5EsxXx6Mw9dF0E3lITnR0lCCDeI4hM34agBZYGI9Rgf1Ykg_8gnzOVOidJYNEq8WMhIABnVBfA8dEzggOg29gEwxB5EhtZh1yKnwU4WCJP6HcsUYs8FFaCHCPQ2YLE8OydzsOGwi17LFLZrPkcbYElD_8GfFTnFT-El-lLvtaoDIcRn3J-JxCBqKQ_Afa1XfT1uDhBUuFPFoOfzlNd6VxyPyfpX6k91BVfhnsQbYs0AHyvjKhTveUxpdfQ85i6usNqjEkLIPvN1KDt9pnaeYCXQ4B-qVFFoxFX9uuAjTmGP3UNTDB0Dp1x9hgGXO6u0W4nG3FGb-AG2OofPwSh1KlGN5KDtboDDsiy70Mv8Nw8kBoyin_F063UoIK6O15IaZtp-ns91AI6AAryVvSQwldQ1VnuVtaOBHnqVeWq8PinUO7BautpbT3WSrpqsrjmopDJETWtKpiRiVnYZYHxb1JQCr98r5XEac5ZyAV8RKcEhF4UG_g6vDDs8Jca8BWF3JqQkX8RrPV68TTK_yhuj7L2k1eeEj65zrtRqwLoE67EZtaGAMrqtf-fiYhrtM-pwFEXG9uukPWpjvONoIMml4iebMjfAeywT7jwReAwjYUkiurD8hDOBB1l4aumfb4_BipTIDs8XEky1WSO2krz_z0YiHZpQKY0zPmRCJQqY4AVGenhVkQYQ5Jk8YhoxWNO9j2skMl2-6cEql7d8y4M-uuOXrwX-gD6WN2RCmTd6NletOCwAwUlgCgN77QBbmQrBgG7VSkT801R6cLMukEPLTRmzrz97_enEiPq94Bg-kEyAaZpUW56dT7CH19BYeh7uMrDm_WmFd7ev1ck-_vJJC62LoZVsL1QMfjDiKKHh91-gRq0zOKla83gaT40DZNgW3qHlmRrhmhUjmQJnPR3QkR6BDiWUIQR8Vi1BWk9JvEKDI6XScY7kIJFng7J2oJFI5iySbQ0n2Z9PjEOEv1jFyzPbCpjw1hfIr8c81Ro4wBST7wup-tNtOR93s-NF6ttrvicNbus2NsQX7WHWWv--nLfGc-z6kfxgE2PMdEaM2xwPwDFwDQTfGJcYKLqjb4hK8We3bSBG24LtwTwvDj0uh76l_Thzear6f_YcR9VnfFNHkdvTiBVeTN0unm0i1QjxKinUvVobmFuwtRvLay29-YO1D3h75n7D5JDH2o750u6njpe0SE8PeH0BcebfLzd1Z3_t9Wtxru6DsjHv8ZI5IcmIsXRGhmjVrcHexUpCAcHQhKN7OnMGPLYu7j4rwMp3pDTpyLNZ5L8_wsS39jkt2fu15PCIdCBa-03FT670icbVSJS1T4hQXd4L9j0GhKpRCiQpNTr25BoogeDtIzXzeHssFQddK-L6HShUydNVufk0i-xkymlzH0URGrxeaXCHa8tMYfGEdZ1xMjuTsDa0Zcro55gC2ndO_QkjE-EVrevFwMDdp4XRRf87V2TK2tQElOZu3RxCejidllQ1HIlENz2GSfhRk7gAZsgZQF9YeMFufUYQm5igON17S8GBwF3iqL9P7DmtDxTa1YIclARmPZslzbGlMUypthCjnZAoxbBRhlM8IFZLt1XdXxeq7ikyNFiTvtdlWuNS3gNFO_WolbgzKkRIvbdVpq7ksGXIBOr-rY9M6A8FOT2_pVgOX3uRWdw830k6YM46kINDuJA2DYMue2KabmvM-fR2zwES6o9nlrbYhqgElbSol5UajrRyWib2on7xc55k1AxO4z4zx9PE1ooHWVKUkOWbAT8VG4ZPch6Q78gW-f1YuAlYd5ht3hxRZW9VPDZe-qK5GzL4BFMpiprV24cBf4Cgj5bx5BOuWbrLAjxFlMgyQjXmOwQPE2PW2CjygOZUXxBmgH1g_1gH2pZxj37JhT3bqyI6HsfSLXhsoz8KVy69So5MZR9wzs0YbN6Ug9RqkcKqnUSx-3ouKdvh4q4chV_L3urpHBsvT8zoU5_R6x_TtG5i74E1d4rhX-L3Hp80q9JWpS0pvGTJ4zgksDxAOL4CyQZmpF_ltLed-Wb9vpxBrZ7TfT17f5Zrr_c7rZzldLI9uhQ-EUV7cxI3mDstksZjYRs8wHKUwtsDTr-pA3s4xl1Vi53W3my9_m_57mQ-v1vmbUsP962XK7377PZ7v9cvRiDXuzynCr1TJvyo_f9ZP08rP3hKUIh6ivDnDyTQYOnAM-ow8glkABH4JhJ3juPKMHSWSIh_bzebAhVt2z-F3JQR00QitM9eivhtz-rzzRdPsPoGx4ljLSkVTMfHYi8hwfWj67wAd9AzH_mhFnP8Bk-EiEiCGb3Vmv-9h-fDgPe4P-oNM99DuDYz9w-0G31-71XNQPek-uPxg8PYSaYg4bvXGjN3kgQ7ftqp9-2-0Mup1WDw16A9x2McLdQfdwbHTb-ALha6mFW4yfHvhQ23CITwKEIXRVkQuRbt8Yp_pRLMHx4SjEV3x7bHcftMFDbe1_AahH0uE">