https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91356

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |WONTFIX

--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> ---
(In reply to Niels Möller from comment #2)
> My impression was that C++ ABI is under the control of compiler and C++
> standard library, and that there is no such thing as a standard C++ ABI.

See http://itanium-cxx-abi.github.io/cxx-abi/

> For specific types defined by the GNU standard C++ library, it may also be
> possible to add any needed G++ specific attributes in library headers to
> tell the compiler to depart from the "standard" ABI.

Not without changing the existing ABI.


> > In any case, how common is it to have a pointless non-inline baz function
> > which does nothing but forward to another non-inline function?
> 
> In my experience (mainly from working on the webrtc.org code, where
> implementation inheritance is discouraged), it's common with implementations
> of interface classes consisting of almost trivial implementations of the
> interface's virtual functions, which only setup the correct arguments for
> calling a non-inlined (and possibly virtual) method on some member to do the
> real work.

Why wouldn't you take unique_ptr<T>&& instead of passing by value?

I'm closing this bug, as there's nothing libstdc++ can do here.

Reply via email to