<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Hello,</div><div><div><br></div><div>for the rtems (<a href="https://www.rtems.org/">https://www.rtems.org/</a>) source code we are trying to describe the rtems formatting style (<a href="https://devel.rtems.org/wiki/Developer/Coding/Conventions">https://devel.rtems.org/wiki/Developer/Coding/Conventions</a>) using clang-format. <br></div><div>To see whether it can be done, we used ratemonperiod.c as an example and tried to set up a .clang-config file to describe the formatting.</div><div><br></div><div>In the mail I added the .clang configuration file and a ratemonperiodWKCustom_Commented.c, which is ratemonperiodOriginal.c with the configuration in .clang-config applied.<br></div><div><br></div><div>There are several problems in ratemonperiodWKCustom_Commented.c using clang-format.</div><div>Our questions are whether these points can be resolved using different configurations.</div><div>If they are not available with different configurations, we would like to ask you how much effort would be needed to implement the functionality which seems missing in clang-format:<br></div><div><br></div><div>The problems/needed functionality in ratemonperiodWKCustom_Commented.c:</div><div><br></div><div>1.
 In line 30-32, we can see that the "*" of the pointers are not aligned 
to the right. This is not supported yet it clang-format (see <a href="https://stackoverflow.com/questions/38392889/clang-format-align-asterisk-of-pointer-declaration-with-variable-name" rel="noreferrer" target="_blank">https://stackoverflow.com/questions/38392889/clang-format-align-asterisk-of-pointer-declaration-with-variable-name</a>).</div><div><br></div><div>2. In line 32, the ")" at the end of the parameter list needs to be in a new row, but this doesn't seem to be supported in clang-format. <br></div><div><br></div><div>4. In line 44: If the function call is split into multiple rows, the ");" should always be in a new row.<br></div><div><br></div><div>5.
 Also in line 44, when a function call is split into multiple rows. The 
parameters can all be in separate rows, but clang-format always puts all
 the parameters in one row when they fit.</div><div><br></div><div>6. In line 80, clang-format does not stick to the column limit of 80. The line is 81 long. I have tried to configure a strict 80 column rule with the penalties, but there are still lines with 81 characters.<br></div><div><br></div><div>7.
 In line 127, I can't turn off the break after the function return type
 in this case. <br></div><div><br></div><div>8. In line 127, the parameter is not in a new line, but in rtems we would need every parameter of a function definition to always be in seperate line. Line 182, 279 have the same problem.<br></div><div><br></div><div>8.
 Lines 323, 330, 335, 348: It should be possible to specify that the 
functions arguments can be in seperate rows.</div><div><br></div><div>Best,</div><div>Mikail<br></div></div></div></div></div></div>