------- Additional Comments From matz at suse dot de 2005-07-22 12:46 ------- I don't understand. The code itself is perfectly valid C++, I don't think you mean that it's invalid, right? Yes, operator== is also hidden, but there is no definition for it in this unit, hence GCC generates the correct call type (over PLT). (It should also be noted that because of the other bugs GCC can't emit the .hidden directives for undefined symbols, except when using HJs patches, but that's tangential and wouldn't make a difference, the crucial point is, that the correct call is emitted). And irrespective of that the error also happens without -fvisibility=hidden, i.e. when _only_ the inlines are hidden. I still think this is a bug, which should be corrected by making GCC just emit an out-of-line copy of the inline function (in a linkonce section).
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22592