<div dir="ltr"><div>Hi,</div><div><br></div><div>LLVM currently uses a coding style where arguments and parameters need to be aligned to the opening parenthesis "(".</div><div><br></div>    someFunctionCall(Arg1, Arg2,<br><div>                     Arg3, Arg4);</div><div><br></div><div>This style guideline is unfortunate for a couple of reasons:</div><div><br></div><div>1. If a function is renamed, it is necessary to also reindent the arguments at all call-sites. For functions with many or complex arguments, this may require significant reflow.</div><div><br></div><div>2. It causes significant right-ward drift. Especially for declarations, it's somewhat common for code ending up like this...</div><div><br></div><div>   Foo SomeClassName::someMethodName(Bar &Arg1,<br>                                      Bar &Arg2,<br>                                      Bar &Arg3,<br>                                      Bar &Arg4) {</div><div><br></div><div>... because there is just enough space to fit each argument individually, but still a need to break each one out on a separate line. Closure arguments are another common case of very awkward formatting.<br></div><div><br></div><div>3. There are some arcane rules about when this is not the preferred style and you're supposed to indent arguments on the following line instead.</div><div><br></div><div>Is there any chance that the style could be changed towards indenting (but not aligning) the following line instead?<br></div><div><br></div><div>    someFunctionCall(</div><div>        Arg1, Arg2, Arg3, Arg4);</div><div><br></div><div>This is unaffected by renames, does not cause rightward drift and results in very predictable formatting.</div><div><br></div><div>Based on past discussions, LLVM seems to be open to improving coding style for the better, so I thought I'd give this a shot, as this is a continuous source of friction for me.<br></div><div><br></div><div>Regards,<br></div><div>Nikita<br></div></div>