On 27.11.2023 16:37, Luca Fancellu wrote:
> 
> 
>> On 27 Nov 2023, at 15:13, Jan Beulich <[email protected]> wrote:
>>
>> On 27.11.2023 15:58, Luca Fancellu wrote:
>>>> On 27 Nov 2023, at 12:20, Jan Beulich <[email protected]> wrote:
>>>> On 24.11.2023 15:52, Luca Fancellu wrote:
>>>>>> On 24 Nov 2023, at 12:47, Jan Beulich <[email protected]> wrote:
>>>>>> On 23.11.2023 15:47, Luca Fancellu wrote:
>>>>>>> Let’s continue the discussion about clang-format configuration, this is 
>>>>>>> part 2, previous discussions are:
>>>>>>>
>>>>>>> - 
>>>>>>> https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg00498.html
>>>>>>>
>>>>>>> You can find the serie introducing clang-format here:
>>>>>>> https://patchwork.kernel.org/project/xen-devel/cover/[email protected]/
>>>>>>> and there is also a patch linked to my gitlab account where you can 
>>>>>>> find the output for the hypervisor code.
>>>>>>>
>>>>>>> For a full list of configurables and to find the possible values for 
>>>>>>> them, please refer to this page:
>>>>>>> https://clang.llvm.org/docs/ClangFormatStyleOptions.html
>>>>>>>
>>>>>>> --------------------------------------------------------------------------------------------------------------------------------------------------
>>>>>>>
>>>>>>> Our coding style doesn’t mention anything about alignment, shall we add 
>>>>>>> a new section?
>>>>>>> I can send patches when we reach agreement on each of these rules.
>>>>>>>
>>>>>>>
>>>>>>> QualifierAlignment: Custom
>>>>>>> QualifierOrder: ['static', 'inline', 'const', 'volatile', 'type']
>>>>>>>
>>>>>>> ---
>>>>>>> For “QualifierAlignment” I chose Custom in order to apply in 
>>>>>>> “QualifierOrder” an order for the
>>>>>>> qualifiers that match the current codebase, we could specify also 
>>>>>>> “Leave” in order to keep
>>>>>>> them as they are.
>>>>>>
>>>>>> Where do attributes go in this sequence?
>>>>>
>>>>> I think function declaration/definition and variables.
>>>>
>>>> How does this relate to my question? I asked about the sequence of elements
>>>> listed for QualifierOrder:, where attributes don't appear at all right now.
>>>
>>> Sorry, I misread your question, attributes are like invisible for the tool, 
>>> they can be placed wherever between
>>> each of the QualifierOrder items.
>>
>> Hoho, one thing where various options are tolerated.
>>
>>>>>>> --------------------------------------------------------------------------------------------------------------------------------------------------
>>>>>>>
>>>>>>> AlignAfterOpenBracket: Align
>>>>>>>
>>>>>>> ---
>>>>>>> This one is to align function parameters that overflows the line 
>>>>>>> length, I chose to align them
>>>>>>> to the open bracket to match the current codebase (hopefully)
>>>>>>>
>>>>>>> e.g.:
>>>>>>> someLongFunction(argument1,
>>>>>>>                              argument2);
>>>>>>
>>>>>> The above matches neither of the two generally permitted styles:
>>>>>>
>>>>>>  someLongFunction(argument1,
>>>>>>                   argument2);
>>>>>>
>>>>>>  someLongFunction(
>>>>>>      argument1,
>>>>>>      argument2);
>>>>>>
>>>>>> Then again from its name I would infer this isn't just about function
>>>>>> arguments?
>>>>>
>>>>> I think it applies to parameters and arguments of functions and macro, 
>>>>> given the description in the docs.
>>>>>
>>>>> I see your two snippets above but I’ve always found at least on arm a 
>>>>> predominance of
>>>>> the style above for functions, so arguments aligned after the opening 
>>>>> bracket, for macros
>>>>> there is a mix.
>>>>
>>>> The latter "above" refers to which form exactly? The one you originally
>>>> spelled out, or the former of what my reply had?
>>>
>>> In my reply I was referring to the one I originally spelled out.
>>
>> But that's properly malformed, for not aligning argument2 with argument1.
>> Where are such constructs commonly used? I just took one example 
>> (cpuerrata.c)
>> and only found my first form of wrapping.
> 
> I had to go back to the thread to realise there was some style issue, the 
> snippet I thought
> I sent already had argument2 aligned under argument1, like this:
> 
> e.g.:
> someLongFunction(argument1,
>                                 argument2);
> 
> Even my wording was not really accurate, as I meant:
> “This one is to align function parameters that overflows the line length, I 
> chose to align them
> *after* the open bracket to match the current codebase (hopefully)”
> 
> So to summarize, this value formats the code to have overflowing args/param 
> aligned after
> the open braket.

But the example above _again_ does not have the two arguments aligned.
I would have suspected a mail UI issue, but
https://lists.xen.org/archives/html/xen-devel/2023-11/msg02366.html
similarly shows way too many indenting blanks on the 2nd line.

Jan

Reply via email to