mirror of
https://github.com/pocoproject/poco.git
synced 2024-12-12 18:20:26 +01:00
#3086: Use POCO_IOS_INIT_HACK for Linux in combination with libc++
This commit is contained in:
parent
bfe4213f54
commit
630afde3fd
@ -55,11 +55,11 @@
|
||||
//
|
||||
// In this scenario, std::ios::init() is called twice
|
||||
// (the first time by the MyIOS constructor, the second
|
||||
// time by the std::istream constructor), resulting in
|
||||
// two locale objects being allocated, the pointer second
|
||||
// one overwriting the pointer to the first one and thus
|
||||
// time by the std::istream constructor), resulting in
|
||||
// two locale objects being allocated, the pointer second
|
||||
// one overwriting the pointer to the first one and thus
|
||||
// causing a memory leak.
|
||||
//
|
||||
//
|
||||
// The workaround is to call init() only once for each
|
||||
// stream object - by the istream, ostream or iostream
|
||||
// constructor, and not calling init() in ios-derived
|
||||
@ -77,6 +77,9 @@
|
||||
# define POCO_IOS_INIT_HACK 1
|
||||
// QNX with Dinkumware but not GNU C++ Library
|
||||
# elif defined(__QNX__) && !defined(__GLIBCPP__)
|
||||
# define POCO_IOS_INIT_HACK 1
|
||||
// Linux with Clang libc++
|
||||
# elif defined(__linux) && defined(_LIBCPP_VERSION)
|
||||
# define POCO_IOS_INIT_HACK 1
|
||||
# endif
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user