2590f1e2174e97558461669792b565903a8398ca |
|
14-Dec-2011 |
David 'Digit' Turner <digit@google.com> |
stlport: Fix minor bugs This patch contains fixes for minor bugs that were already submitted to the Android platform tree (under external/stlport) but didn't make it to the NDK version yet. - stlport/stl/_locale.h: Fix an instantiation of an incomplete type. This fixes an implicit instantiation of undefined template basic_string<...> in locale::combine. This results in a compilation error from clang. Upstream bug: https://sourceforge.net/tracker/?func=detail&aid=3400141&group_id=146814&atid=766244 - stlport/stl/_fstream.c: Fix a == versus = typo. The bug failed to update the __ok variable in the case where this->_M_unshift() failed. - stlport/stl/_string.c: Use memmove instead of memcpy in string::assign. It is possible to assign a string part of its own buffer: std::string s; s.assign(s.data(), s.size()); This can not be done with memcpy. Upstream bug: https://sourceforge.net/tracker/?func=detail&aid=3323109&group_id=146814&atid=766244 - src/num_put_float.cpp: Use __ANDROID__ to prepare for upcoming arm_linux_androideabi toolchain. This patch does not affect current arm-eabi toolchain behavior at all. It only makes arm_linux_androideabi toolchain to do the same as arm-eabi does. The current arm_eabi toolchain does not define __unix nor __unix__, so some statements wrapped by "#if defined (__unix) || defined (__unix__)" "#endif" won't be included. However, the new arm_linux_androideabi targets a linux Android platform, where __unix and __unix__ are defined, which results in the incorrectly inclusion of calls of IsNANorINF, IsINF, IsNegNAN, ecvt_r, fcvt_r, etc. We need to add __ANDROID__ to prevent these calls from being included. As a background, arm_linux_androideabi will be supported by upstream gcc trunk soon. __ANDROID__ is defined by arm_linux_androideabi toolchain. - src/local_impl.cpp: Re-enable iostream static constructor. Turns out that we can't really remove this one in the general case without breaking some features (e.g. iostream::in_avail()) Change-Id: I75b44ebb66c76e61457497f912a0135240f97ec6
|