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