On 22 August 2016 at 17:16, Tamás Kiss wrote: > Hi Jonathan, > > Thanks for the answer! I also found the GCC ABI compatibility wiki > page you mentioned, that's why I had concerns. At least these seem to > be real issues for us: Based on what, just the GCC versions? > * `vector::data()`'s return type changes from `pointer` to `_Tp*` > [gcc-4.6 - ...] For this to be an issue you need to be using the non-standard vector::data() member (which is not part of C++03) with custom allocators that use custom pointers. If you're not doing hat it's not an issue. > * `std::operator-(reverse_iterator)` and > `std::operator-(__normal_iterator)` [gcc-4.4 - ...] > * `istreambuf_iterator::reference` changes from `_CharT&` to `_CharT` > [gcc-4.7 - ...] These are even more unlikely to be real issues in practice. > This also, but at least it would cause compilation error: > * Types with node allocators, like `deque` and lists, maps and sets > [... - gcc-5] > > Based on the wiki page, I'm not sure how we could pinpoint the root > cause if any of the above issues would be triggered in our program, > especially if they would manifest in some runtime fault. As the top of the page says, you can check the symbols in your objects and libraries to see if any problematic ones are present.