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. Niall -- ned Productions Limited Consulting http://www.nedproductions.biz/ http://ie.linkedin.com/in/nialldouglas/