Subject: Re: [boost] questions regarding GCC visibility
From: Niall Douglas (s_sourceforge_at_[hidden])
Date: 2015-04-01 14:57:37
On 1 Apr 2015 at 16:15, Andrey Semashev wrote:
> > If you think it through, if this weren't the case then no STL
> > container type would ever work because none of those are marked with
> > default visibility.
> libstdc++ marks the whole namespace std with default visibility.
Indeed it does.
That came a LOT later, and is only realistically possible because of
the extent to which libstdc++ goes to maintain ABI.
Originally libstdc++ had no markup at all, as most template libraries
still don't. It still works as I said. Moreover, base classes don't
need declspec(dllexport) on Windows under the exact same conditions
as on GCC. That was a very deliberate choice to have the two match
semantics as closely as was possible.
-- ned Productions Limited Consulting http://www.nedproductions.biz/ http://ie.linkedin.com/in/nialldouglas/
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk