This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: How to migrate codebase to C++11


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]