<html>
    <head>
      <base href="https://llvm.org/bugs/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - Allman style doesn't always break before braces"
   href="https://llvm.org/bugs/show_bug.cgi?id=24666">24666</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Allman style doesn't always break before braces
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>clang
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>unspecified
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Windows NT
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Formatter
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedclangbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>aardappel@gmail.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>djasper@google.com, klimek@google.com, llvm-bugs@lists.llvm.org
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr></table>
      <p>
        <div>
        <pre>void test()
{
    if (something)
    {
        for (;;)
        {
        }
    }
}

Gets formatted as:

void test()
{
    if (something) {
        for (;;) {
        }
    }
}

Using the following config (with Allman):

---
BasedOnStyle: Google
---
Language: Cpp
IndentWidth: 4
ColumnLimit: 120
UseTab: Never
AccessModifierOffset: 0
AlignTrailingComments: true
AllowShortBlocksOnASingleLine: true
AllowShortCaseLabelsOnASingleLine: true
AllowShortFunctionsOnASingleLine : All
AllowShortLoopsOnASingleLine: true
BinPackParameters: true
BreakBeforeBraces: Allman
ConstructorInitializerAllOnOneLineOrOnePerLine: true
IndentCaseLabels: true
NamespaceIndentation: None
PointerAlignment: Right
SpaceBeforeParens: ControlStatements
Standard: Cpp11

This is using the visual studio plugin running in VS2010, downloaded today
(date of bug).

GNU style has as similar problem.

Interestingly, on more complex code it sometimes does it right ("if" & "for").
"else", "switch" and functions always get formatted correctly.</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>