<html>
    <head>
      <base href="https://bugs.llvm.org/">
    </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 - clang-format produces unexpected function parameter formatting"
   href="https://bugs.llvm.org/show_bug.cgi?id=34882">34882</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>clang-format produces unexpected function parameter formatting
          </td>
        </tr>

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

        <tr>
          <th>Version</th>
          <td>5.0
          </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>RytoEX@gmail.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>djasper@google.com, klimek@google.com, llvm-bugs@lists.llvm.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Created <span class=""><a href="attachment.cgi?id=19249" name="attach_19249" title="clang-format rules">attachment 19249</a> <a href="attachment.cgi?id=19249&action=edit" title="clang-format rules">[details]</a></span>
clang-format rules

When testing clang-format on a project, I noticed that it sometimes
aggressively tries to start function parameters on a new line separate from the
function return type and name, even though allowing one or two parameters on
the same line should not have reached the ColumnLimit (80).  I've seen this
behavior on clang-format 4.0 and 5.0.  I didn't see anything in the
clang-format rules being used that should cause this, though I'll admit that
I'm fairly new to LLVM/clang, so I may have missed something.

I've attached the clang-format rules file (.clang-format) to this bug report. 
I've also provided examples for input, expected output, and actual output as
raw text below.  I can attach files for those as well, if needed.  Please let
me know if you require any additional information or examples.


Input:
static inline void test_function_1(some_long_type_name example,
a_short_type_name var, int an_int)
{
        return;
}


Expected Output:
static inline void test_function_1(some_long_type_name example,
                a_short_type_name var, int an_int)
{
        return;
}


Actual Output:
static inline void test_function_1(
                some_long_type_name example, a_short_type_name var, int an_int)
{
        return;
}</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>