See https://bugzilla.gnome.org/show_bug.cgi?id=748630, especially comment 9.
This particular instance of std::auto_ptr will be replaced by a plain
old pointer in future releases of glibmm. It's static data, intended to
be used only by a few glibmm classes.
Kjell
Den 2015-05-04 00:15, Marcin Kolny skrev:
It's actually not a solution of your problem, because you have to
change compilation flags,
but you can use following ifdefs block:
#if __cplusplus < 201103L
// use auto_ptr
#else
// use unique_ptr
#endif
and compile glibmm with -std=c++11 flag. As I said, it's not a
solution, but just a workaround.
I believe, that breaking glibmm's ABI/API is inevitable anyway, so
maybe time has come to
enable c++11 flag by default and use c++11 features in glibmm?
2015-05-04 0:00 GMT+02:00 Andrew Potter <[email protected]
<mailto:[email protected]>>:
Hi everybody,
As you probably know, std::auto_ptr got deprecated in the C++11
standard and is scheduled for removal in C++17. After upgrading to
Fedora 22, I see that g++ is now issuing a warning when it sees use of
std::auto_ptr. Unfortunately there is one in glibmm's objectbase.h:
In file included from /usr/include/glibmm-2.4/glibmm/object.h:29:0,
from /usr/include/giomm-2.4/giomm/simpleaction.h:27,
from application.cpp:19:
/usr/include/glibmm-2.4/glibmm/objectbase.h:215:13: warning:
‘template<class> class std::auto_ptr’ is deprecated
[-Wdeprecated-declarations]
static std::auto_ptr<Threads::Mutex> extra_object_base_data_mutex;
^
In file included from /usr/include/c++/5.1.1/memory:81:0,
from /usr/include/glibmm-2.4/glibmm/objectbase.h:32,
from /usr/include/glibmm-2.4/glibmm/object.h:29,
from /usr/include/giomm-2.4/giomm/simpleaction.h:27,
from application.cpp:19:
/usr/include/c++/5.1.1/bits/unique_ptr.h:49:28: note: declared here
template<typename> class auto_ptr;
^
I don't think this is fully resolvable until the next ABI/API break
(which maybe we should think about in the 2017 timeframe?), but in the
meantime, does anyone have a clever idea to hide this particular
warning without disabling -Wdepreciated-declarations altogether? Or
maybe we can make some ABI-compatible Glib::auto_ptr ?
--
Pozdrawiam
Marcin Kolny
_______________________________________________
gtkmm-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/gtkmm-list