It's really great to see the enthusiasm to improve the code! Much like Ben,
I would love to see a more complete depiction of the pros and cons before
we go ahead and push things like this, especially as we have a growing set
of committers.

Why is it that many projects are not adopting #pragma once? E.g. Chromium:
http://dev.chromium.org/developers/coding-style#TOC-File-headers

Why is it that the Google style guide forbids it for Windows code?
http://google-styleguide.googlecode.com/svn/trunk/cppguide.html?showone=Windows_Code#Windows_Code

And accordingly, if there is a Windows reason, things like stout and
libprocess might not want to use #pragma.

On Wed, Jan 21, 2015 at 10:01 AM, John Pampuch <[email protected]> wrote:

> Wikipedia has a list of significant compilers that support.  IBM's is the
> only one.
>
> I'm not too concerned about IBM's.  And I'm not discouraging this, I just
> want to make sure we go in with both eyes open.
>
> -John
>
>
> On Wed, Jan 21, 2015 at 2:31 AM, Alexander Rojas <[email protected]>
> wrote:
>
> > While I understand your concern, I think #pragma once reduces clutter in
> > the code and improves readability which I think is the important thing
> > here. However I just see portability could be an issue (however almost
> all
> > mayor compilers support this pragma nowadays).
> >
> > Do we in general have a list of supported compilers? It would be sad not
> > to go for this patch because we cannot get compiled in IBM’s compiler
> only
> > to find out later on that mesos never compiled there anyway.
> >
> > - Alexander
> >
> >
> > > On 21 Jan 2015, at 07:31, John Pampuch <[email protected]> wrote:
> > >
> > > Not to be too much of a stickler, but #pragma once is a bit strange.
> It
> > > runs slightly counter to:
> > >
> > > The ‘#pragma’ directive is the method specified by the C standard for
> > > providing additional information to the compiler, beyond what is
> conveyed
> > > in the language itself.
> > >
> > >
> > > I suppose a directive that says "skip this file under certain
> conditions"
> > > is "beyond what is conveyed in the language itself".  The problem is
> that
> > > code that compiles fine with the pragma could fail (fairly easily)
> > without,
> > > which doesn't seem to be the intent of pragmas.
> > >
> > > But conceptually, it does seem like a better solution.  Of course,
> > > compliers aren't obligated to support it, so any compiler that probably
> > > won't work.
> > >
> > > It probably doesn't matter much, but IBM's commercial XL C/C++ compiler
> > > doesn't support this per the venerable Wikipedia.
> > >
> > > -John
> > >
> > >
> > > On Tue, Jan 20, 2015 at 6:08 PM, Kapil Arya <[email protected]>
> wrote:
> > >
> > >> On Tue, Jan 20, 2015 at 6:00 PM, Benjamin Hindman <
> > [email protected]>
> > >> wrote:
> > >>
> > >>> What's the rush on committing this? Let's make sure all of the
> > committers
> > >>> get a chance to share their opinion on this please.
> > >>>
> > >>
> > >> This was assuming that most people would agree on the change.
> However,
> > if
> > >> that's not the case, then there is no hurry :-).
> > >>
> > >>
> > >>> I for one would love to hear from others that have used #pragma once
> in
> > >>> practice and hear any pros/cons from them.
> > >>>
> > >>> Also, while the > > to >> change was meant to preserve some
> > information,
> > >>> I'm not convinced that there is any information to preserve by
> > replacing
> > >>> all include guards with #pragma once, and otherwise I feel like we're
> > >> going
> > >>> to get just as many reviews where people have to tell you to switch
> to
> > >>> #pragma once rather than appropriately name the include guard.
> > >>>
> > >>
> > >> Good point. In this case, we can just do a mass update (if we agree to
> > the
> > >> change).
> > >>
> > >>>
> > >>> On Tue, Jan 20, 2015 at 5:04 PM, Kapil Arya <[email protected]>
> > wrote:
> > >>>
> > >>>> Hi All,
> > >>>>
> > >>>> This issue came up on several occasions. Since people seem to agree
> on
> > >>>> using "#pragma once" instead of "#define" guards that we have
> using, I
> > >>>> wanted to send a quick email to gather some consensus around it.  If
> > >>>> everyone agrees about the switch, we can update the style guide and
> > >> start
> > >>>> using "#pragma once".
> > >>>>
> > >>>> The issue is tracked at
> > >> https://issues.apache.org/jira/browse/MESOS-2211
> > >>>> and there is a review request at
> https://reviews.apache.org/r/30100/.
> > >>>>
> > >>>> Please note that this won't be a mass update. We should keep
> updating
> > >> the
> > >>>> files that are created/updated (similar in spirit to "> >" to ">>"
> > >>> change).
> > >>>>
> > >>>> If there are any concerns, please let us know. We would very much
> like
> > >> to
> > >>>> commit this by tomorrow and any feedback before that is highly
> > >>> appreciated.
> > >>>>
> > >>>> Best,
> > >>>> Kapil
> > >>>>
> > >>>
> > >>
> >
> >
>

Reply via email to