[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: Clang-format configuration discussion - pt 2
On 27.11.2023 16:37, Luca Fancellu wrote: > > >> On 27 Nov 2023, at 15:13, Jan Beulich <jbeulich@xxxxxxxx> wrote: >> >> On 27.11.2023 15:58, Luca Fancellu wrote: >>>> On 27 Nov 2023, at 12:20, Jan Beulich <jbeulich@xxxxxxxx> wrote: >>>> On 24.11.2023 15:52, Luca Fancellu wrote: >>>>>> On 24 Nov 2023, at 12:47, Jan Beulich <jbeulich@xxxxxxxx> 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/20231031132304.2573924-1-luca.fancellu@xxxxxxx/ >>>>>>> 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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |