<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 - [C++] clang-format pointer alignment off in extern method declaration inside of another method"
   href="https://bugs.llvm.org/show_bug.cgi?id=43854">43854</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>[C++] clang-format pointer alignment off in extern method declaration inside of another method
          </td>
        </tr>

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

        <tr>
          <th>Version</th>
          <td>trunk
          </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>Yiqi.Ju@microsoft.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>Configuration:
BinPackArguments: false
BinPackParameters: false
PointerAlignment: Left

Found in llvm build 10.0.0+b452de0 (also in earlier builds) when there is a
nested extern method declaration, the point alignment is incorrect.  In this
case, only "left alignment" is expected but the pointer is at the center.  This
only happens if the "extern" method declaration is inside of another method.

Wrong output:
int foo() {
  extern MyTypeB* Nested(Mytype * aaaaaa,
                         Mytype * bbbbbb,
                         Mytype * cccccc,
                         Mytype * dddddd,
                         Mytype e);
}

Expected output:
int foo() {
  extern MyTypeB* Nested(Mytype* aaaaaa,
                         Mytype* bbbbbb,
                         Mytype* cccccc,
                         Mytype* dddddd,
                         Mytype e);
}</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>