-fvisibility=hidden vs. typeinfo

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I have some code that looks like

  void some_function() throw (std::out_of_range) {
      ... call to std::map<>::at() which throws out_out_range
  }

if I compile with -fvisibility=hidden, this code calls terminate(). My suspicion is that I ended up with two copies of the typeinfo block for std::out_of_range; one used by std::__throw_out_of_range() in libstdc++, and another in the guard code generated by the compiler. Since they don't match, the guard block terminates.

Is this correct? If so, is this a bug in libstdc++, or the compiler (or the linker)? If not, what can I do to fix this?

I wasn't able to generate a self contained test case quickly, but if there's no other way, I'll invest more effort into it.



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux