|
Boost : |
Subject: Re: [boost] [xint] Third release is ready, requesting preliminary review
From: Stewart, Robert (Robert.Stewart_at_[hidden])
Date: 2010-05-05 13:03:01
Steven Watanabe wrote:
> Stewart, Robert wrote:
> > Steven Watanabe wrote:
> >> Stewart, Robert wrote:
> >>
> >>> Sure, but that's not portable, which is the goal within Boost.
> >>>
> >> What do you mean by portable? You have no guarantee
> >> that the compiler does it? You don't have any guarantees
> >> anyway. The compiler is free to ignore inline.
> >
> > Ah, but that's portable behavior by definition.
> >
> > As written, the functions in question would only be inlined
> > by a very few platforms. Marked inline in a header, it is
> > the unlikely compiler that wouldn't inline those functions in
> > an optimized build.
>
> As far as I am concerned, this has nothing to do with portability
> as a goal for Boost. We're talking about optimizations that don't
> affect the observable behavior of any program. The compiler
> is free to do whatever it darn well pleases, regardless of whether
> you say inline or not. msvc has supported link time code generation
> for a while, and gcc now has -flto.
You've dragged this far afield. The original contention was that functions in a .cpp would be inlined. I countered that as not being portable, which is to say that it will only work on select platforms and only when configured to do so. The only way to have any chance of inlining for the widest range of platforms and configurations possible is to put the function definitions in a header and mark them inline if they aren't in the class definition. That won't force any compiler to inline them, but that gives the best chance for it. I hardly think that's controversial.
_____
Rob Stewart robert.stewart_at_[hidden]
Software Engineer, Core Software using std::disclaimer;
Susquehanna International Group, LLP http://www.sig.com
IMPORTANT: The information contained in this email and/or its attachments is confidential. If you are not the intended recipient, please notify the sender immediately by reply and immediately delete this message and all its attachments. Any review, use, reproduction, disclosure or dissemination of this message or any attachment by an unintended recipient is strictly prohibited. Neither this message nor any attachment is intended as or should be construed as an offer, solicitation or recommendation to buy or sell any security or other financial instrument. Neither the sender, his or her employer nor any of their respective affiliates makes any warranties as to the completeness or accuracy of any of the information contained herein or that this message or any of its attachments is free of viruses.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk