[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: Clang-format configuration discussion - pt 2
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. Jan
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |