1 |
On Thursday, 19 December 2013 10:18:55 CEST, Michał Górny wrote: |
2 |
> Would it be possible to have a consistent ABI for both C++03 and C++11? |
3 |
> The simpler changes like adding new fields can be backported quite |
4 |
> easily (even if it would mean having dummy fields in C++03), I have no |
5 |
> idea about the more complex changes. |
6 |
|
7 |
I don't know, but from a bystander's point of view, I surely hope that it |
8 |
will be possible. Otherwise there would be no option but providing a |
9 |
multilib-like setup for C++11, after all. |
10 |
|
11 |
Some messages on gcc's ML indicate that there are software vendors who are |
12 |
*very* afraid of doing the SONAME change again. Given that C++11 forbids a |
13 |
refcounted std::string while libstdc++ currently use just that for its |
14 |
implementation, I suspect that the upstream developers have a very |
15 |
interesting problem to solve. (And there's much more.) |
16 |
|
17 |
It is pretty clear to me that even the gcc people have not reach a |
18 |
consensus on how the ABI of the standard library will look like in 4.9, so |
19 |
maybe it is premature for us to talk about how to solve this. The ball is |
20 |
on their side. |
21 |
|
22 |
> Well, if they considered the C++11 ABI in gcc-4.9 stable, we could |
23 |
> consider changing the default to C++11. Then, we could do our |
24 |
> bump/switch thing as a matter of gcc-4.9 upgrade problem. |
25 |
|
26 |
To put things into perspective, *if* the ABI changes and if the new version |
27 |
is compatible between C++98 and C++11, then we're talking something very |
28 |
similar to an upgrade from GCC 3.3. |
29 |
|
30 |
Cheers, |
31 |
Jan |