https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116852
--- Comment #4 from Jörg Richter <joerg.rich...@pdv-fs.de> --- > I don't think there's a way besides wrapping those inside #pragma GCC > visibility, using attributes and/or -fvisibility I had hoped the point of -fvisibility-inlines-hidden is to not have to do this in such detail. Also a lot of libstdc++ or boost has template functions not marked as inline. Its hard for a user to wrap this code with different visibility. I think the C++ semantics for this function is totally identical with and without 'inline'. Perhaps the "inline" in "-fvisibility-inlines-hidden" is different from the pure C++ definition of it and can be extended to also include this case?