[LLVMdev] lld coding style
kledzik at apple.com
Wed Oct 8 19:20:29 PDT 2014
On Oct 8, 2014, at 7:04 PM, Chandler Carruth <chandlerc at google.com> wrote:
> On Wed, Oct 8, 2014 at 4:58 PM, Nick Kledzik <kledzik at apple.com> wrote:
> On Oct 8, 2014, at 9:34 AM, Chris Lattner <clattner at apple.com> wrote:
> >> On Oct 8, 2014, at 1:55 AM, Renato Golin <renato.golin at linaro.org> wrote:
> >> On 8 October 2014 05:25, Chris Lattner <clattner at apple.com> wrote:
> >>>> Up until now the thread has been about “formatting”. You suggested renaming
> >>>> every variable in the project!
> >>> If that's what it takes.
> >> If we're still talking about applying it to the HEAD, not the whole
> >> history, I think it's feasible.
> > Yep, to be clear, I mean one big change to head, not trying to rewrite history.
> > -Chris
> In case it is not clear, the lld’s convention diverge from LLVM’s in two small ways that were designed to overcome bugs in the LLVM conventions. When the lld project first started up, I wrote the attached conventions doc to detail the reason why lld was different.
> Given the above reasons for the divergence, I would consider a mass variable renaming in lld sources would make the lld source base worse.
> I see both sides of this, but ultimately would leave the decision to the primary contributors to LLD. At this point, if Rui is in favor of it, I think he should make it so (given that several of the other contributor seem to be in favor as well).
> That said...
> Yes, having uniforms coding styles is nice. Therefore, I suggest we discuss a variable naming convention that fixes LLVM's problems and can be adopted by all projects.
> Sure, I actually have no problem with this.
> I'm going to point out that one of the naming conventions used by LLD has serious problems: naming variables with a leading underscore puts them *way* too close to the reserved identifier space. Folks have accidentally ended up with reserved names quite a few times already.
The lld conventions for ivars is a leading underscore followed by a lowercase letter. The reserved identifiers are a leading underscore followed by an uppercase letter. There is no conflict.
On the other hand the LLVM conventions prevents the use of the -Wshadow which catches real bugs.
> However, I care much less about the particular naming convention than that we have a consistent naming convention. And changing LLD to LLVM's style and then later changing LLVM's style (and all the subprojects) will not appreciably increase the amount of churn required to the project as a whole. So I don't think we should hold up progress in the pursuit of perfection here.
So you are saying, let’s make lld’s code worse and maybe someday make lld’s and llvm’s code better.
Why not hold off on changing lld until the broader naming convention is decided, then change lld to that? lld has been using these conventions for years. What is the rush? Besides, if you strip the distinctive name from ivars, it will be hard to automatically add that back.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev