Re: Using C++11





Den 2015-06-30 13:40, Murray Cumming skrev:
On Tue, 2015-06-30 at 12:18 +0100, Chris Vine wrote:
[snip]
However, I don't think this should have any bearing on whether gtkmm
adopts C++11.  As I have mentioned, this should not and does not
depend
on what ABI a particular distribution happens to choose for its C++
binaries.
Using C++11 in gtkmm for anything interesting will lead to an ABI break
- apps that have been built against gtkmm will stop running when their
gtkmm is replaced with out C++11 gtkmm.
Will they really stop running? I guess they will continue to run, because the C++11 code in gtkmm will be additions. It will not replace or change old API/ABI. But the apps will stop compiling without -std=c++11, if there is any C++11 syntax in the header files.
If we can be fairly sure that an ABI break will happen on the main
distros anyway, then we can go ahead with the break in gtkmm knowing
that nobody can blame us for the ABI break.

There are other small ABI breaks that we'd like to make, unrelated to C
++11. So for simplicity, we could ignore "use of C++11 features" when
deciding whether to break ABI in gtkmm, though it's superficially going
to look like C++11 is the big change.

There are lots of ABI breaks that we'd like to do: Remove no_default_handler in many _WRAP_SIGNAL(), add new data members to Glib::ObjectBase, Glib::Source, xmlpp:Parser and probably other classes, rename the sigc::nil struct, etc. Just search for TODO comments.

But can we synchronize an ABI break in gtkmm and friends with the ABI break that distros introduce when they change the default value of _GLIBCXX_USE_CXX11 from 0 to 1? That ABI break will probably occur at different times in different distros, perhaps with different versions of gtk+/gtkmm.



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