[lldb-dev] clang-format now supports return type on separate line

Sean Callanan via lldb-dev lldb-dev at lists.llvm.org
Fri Jan 22 13:13:48 PST 2016


Wow, that’s a super handy feature and probably goes a long way toward alleviating concerns about tables.
I have to say, I always feel good vibes about a source base when they have lint directives in comments.  Shows they run lint as a matter of course.

Sean
 
> On Jan 22, 2016, at 12:29 PM, Pavel Labath via lldb-dev <lldb-dev at lists.llvm.org> wrote:
> 
> Apparently, you can also disable the formatting of a piece of code by
> a magic comment. Could be quite useful for those tables. From the
> docs:
> -----
> Clang-format understands also special comments that switch formatting
> in a delimited range. The code between a comment // clang-format off
> or /* clang-format off */ up to a comment // clang-format on or /*
> clang-format on */ will not be formatted. The comments themselves will
> be formatted (aligned) normally.
> -----
> 
> 
> On 22 January 2016 at 17:09, Todd Fiala via lldb-dev
> <lldb-dev at lists.llvm.org> wrote:
>> Okay, thanks for the tip!
>> 
>> On Fri, Jan 22, 2016 at 8:32 AM, Zachary Turner <zturner at google.com> wrote:
>>> 
>>> By the way, one place where you are guaranteed to get undesirable results
>>> is where you have a large array formatted so that the columns line up.  Like
>>> in our options tables in the CommandObjects.  If you're using git, one way
>>> to avoid having clang-format touch these files is to commit that file by
>>> itself, then run git clang-format (since it only looks at staged files),
>>> then git commit --amend.  But of course that will gloss over any other
>>> changes you made to the file as well.  But in any case, it's another trick
>>> I've found useful occasionally.
>>> 
>>> On Fri, Jan 22, 2016 at 7:09 AM Kate Stone <katherine_stone at apple.com>
>>> wrote:
>>>> 
>>>> Agreed.  My guidance has been that we go ahead and require submitters to
>>>> use clang-format for patches, but to acknowledge that there may be cases
>>>> where this produces undesirable results.  Manual formatting to correct these
>>>> issues is acceptable and should lead to discussions about concrete examples
>>>> where the automated approach is imperfect.
>>>> 
>>>> Kate Stone k8stone at apple.com
>>>>  Xcode Runtime Analysis Tools
>>>> 
>>>> On Jan 21, 2016, at 9:46 PM, Todd Fiala via lldb-dev
>>>> <lldb-dev at lists.llvm.org> wrote:
>>>> 
>>>> Okay, sounds like a reasonable thing to try.  We can always review it if
>>>> it causes any real issues.
>>>> 
>>>> On Thu, Jan 21, 2016 at 11:34 AM, Zachary Turner <zturner at google.com>
>>>> wrote:
>>>>> 
>>>>> 
>>>>> 
>>>>> On Thu, Jan 21, 2016 at 11:18 AM Sean Callanan <scallanan at apple.com>
>>>>> wrote:
>>>>>> 
>>>>>> I tend to agree with Zachary on the overall principle – and I would be
>>>>>> willing to clang-format functions when I modify them.  I’m concerned about a
>>>>>> specific class of functions, though.  Let’s say I have a function that has
>>>>>> had lots of activity (I’m thinking of, for example, ParseType off in the
>>>>>> DWARF parser).  Unfortunately, such functions tend to be the ones that
>>>>>> benefit most from clang-format.
>>>>>> 
>>>>>> In such a function, there’s a lot of useful history available via svn
>>>>>> blame that helps when fixing bugs.  My concern is that if someone
>>>>>> clang-formats this function after applying the kth fix, suddenly I've lost
>>>>>> convenient access to that history.  It’s only available with a fair amount
>>>>>> of pain, and this pain increases as more fixes are applied because now I
>>>>>> need to interleave the info before and after reformatting.
>>>>>> 
>>>>>> Would it be reasonable to mark such functions as “Don’t clang-format”?
>>>>>> That could be also interpreted as a “// TODO add comments so what this does
>>>>>> is more understandable”
>>>>> 
>>>>> 
>>>>> Well again by default it's only going to format the code you touch in
>>>>> yoru diff plus 1 or 2 surrounding lines.  So having it format an entire
>>>>> function is something you would have to explicitly go out of your way to do.
>>>>> So it's a judgement call.  If you think the function would be better off
>>>>> clang-formatting the entire thing, do that.  If you just want to format the
>>>>> lines you're touching because you were in there anyway, that's the default
>>>>> behavior.
>>>> 
>>>> 
>>>> 
>>>> 
>>>> --
>>>> -Todd
>>>> 
>>>> _______________________________________________
>>>> 
>>>> 
>>>> lldb-dev mailing list
>>>> lldb-dev at lists.llvm.org
>>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev
>> 
>> 
>> 
>> 
>> --
>> -Todd
>> 
>> _______________________________________________
>> lldb-dev mailing list
>> lldb-dev at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev
>> 
> _______________________________________________
> lldb-dev mailing list
> lldb-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev



More information about the lldb-dev mailing list