[package] uclibc++: update to 0.2.3
Allows us to get rid of some patches git-svn-id: svn://svn.openwrt.org/openwrt/packages@31369 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
d3add2a8cb
commit
38f716f1a7
@ -8,12 +8,12 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=uclibc++
|
||||
PKG_VERSION:=0.2.2
|
||||
PKG_RELEASE:=4
|
||||
PKG_VERSION:=0.2.3
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=uClibc++-$(PKG_VERSION).tar.bz2
|
||||
PKG_SOURCE_URL:=http://cxx.uclibc.org/src/
|
||||
PKG_MD5SUM:=1ceef3209cca88be8f1bd9de99735954
|
||||
PKG_MD5SUM:=fd71a433ce1de85885d658f47885ab30
|
||||
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/uClibc++-$(PKG_VERSION)
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
|
@ -1,30 +0,0 @@
|
||||
diff -ur old/Makefile dev/Makefile
|
||||
--- old/Makefile Sat Oct 14 17:49:55 2006
|
||||
+++ dev/Makefile Sat Oct 14 17:50:18 2006
|
||||
@@ -1,4 +1,3 @@
|
||||
-MAKE = make
|
||||
SUBDIRS = bin include src
|
||||
|
||||
# User defines:
|
||||
@@ -43,10 +42,10 @@
|
||||
#Menu configuration system
|
||||
|
||||
extra/config/conf:
|
||||
- make -C extra/config conf
|
||||
+ $(MAKE) -C extra/config conf
|
||||
|
||||
extra/config/mconf:
|
||||
- make -C extra/config ncurses mconf
|
||||
+ $(MAKE) -C extra/config ncurses mconf
|
||||
|
||||
menuconfig: extra/config/mconf
|
||||
@./extra/config/mconf extra/Configs/Config.in
|
||||
@@ -71,7 +70,7 @@
|
||||
|
||||
include/system_configuration.h: .config
|
||||
@if [ ! -x ./extra/config/conf ] ; then \
|
||||
- make -C extra/config conf; \
|
||||
+ $(MAKE) -C extra/config conf; \
|
||||
fi;
|
||||
@./extra/config/conf -o extra/Configs/Config.in
|
||||
|
@ -5,8 +5,8 @@ diff -ur old/bin/Makefile dev/bin/Makefile
|
||||
$(INSTALL) -m 755 $(WRAPPER) $(PREFIX)$(UCLIBCXX_RUNTIME_BINDIR)
|
||||
|
||||
$(WRAPPER):
|
||||
- echo "#!/bin/bash" > $(WRAPPER)
|
||||
+ echo "#!/usr/bin/env bash" > $(WRAPPER)
|
||||
echo "" >> $(WRAPPER)
|
||||
- echo '#!/bin/sh' > $(WRAPPER)
|
||||
+ echo '#!/usr/bin/env bash' > $(WRAPPER)
|
||||
echo '' >> $(WRAPPER)
|
||||
echo 'WRAPPER_INCLUDEDIR="$${WRAPPER_INCLUDEDIR:=-I$(UCLIBCXX_RUNTIME_INCLUDEDIR)}"' >> $(WRAPPER)
|
||||
echo 'WRAPPER_LIBDIR="$${WRAPPER_LIBDIR:=-L$(UCLIBCXX_RUNTIME_LIBDIR)}"' >> $(WRAPPER)
|
||||
|
@ -1,66 +0,0 @@
|
||||
Index: uClibc++-0.2.2/include/limits
|
||||
===================================================================
|
||||
--- uClibc++-0.2.2/include/limits (revision 1877)
|
||||
+++ uClibc++-0.2.2/include/limits (revision 1878)
|
||||
@@ -143,6 +143,53 @@
|
||||
static T signaling_NaN();
|
||||
};
|
||||
|
||||
+template <> class numeric_limits<bool> {
|
||||
+public:
|
||||
+ typedef bool T;
|
||||
+ // General -- meaningful for all specializations.
|
||||
+ static const bool is_specialized = true;
|
||||
+ static T min(){
|
||||
+ return false;
|
||||
+ }
|
||||
+ static T max(){
|
||||
+ return true;
|
||||
+ }
|
||||
+ static const int radix = 2;
|
||||
+ static const int digits = 1;
|
||||
+ static const int digits10 = 0;
|
||||
+ static const bool is_signed = false;
|
||||
+ static const bool is_integer = true;
|
||||
+ static const bool is_exact = true;
|
||||
+ static const bool traps = false;
|
||||
+ static const bool is_modulo = false;
|
||||
+ static const bool is_bounded = true;
|
||||
+
|
||||
+ // Floating point specific.
|
||||
+
|
||||
+ static T epsilon(){
|
||||
+ return 0;
|
||||
+ }
|
||||
+ static T round_error(){
|
||||
+ return 0;
|
||||
+ }
|
||||
+ static const int min_exponent10 = 0;
|
||||
+ static const int max_exponent10 = 0;
|
||||
+ static const int min_exponent = 0;
|
||||
+
|
||||
+ static const int max_exponent = 0;
|
||||
+ static const bool has_infinity = false;
|
||||
+ static const bool has_quiet_NaN = false;
|
||||
+ static const bool has_signaling_NaN = false;
|
||||
+ static const bool is_iec559 = false;
|
||||
+ static const bool has_denorm = false;
|
||||
+ static const bool tinyness_before = false;
|
||||
+ static const float_round_style round_style = round_indeterminate;
|
||||
+ static T denorm_min();
|
||||
+ static T infinity();
|
||||
+ static T quiet_NaN();
|
||||
+ static T signaling_NaN();
|
||||
+};
|
||||
+
|
||||
template <> class numeric_limits<unsigned char> {
|
||||
public:
|
||||
typedef unsigned char T;
|
||||
@@ -567,6 +614,7 @@
|
||||
};
|
||||
|
||||
template <> class numeric_limits<double> {
|
||||
+public:
|
||||
typedef double numeric_type;
|
||||
|
||||
static const bool is_specialized = true;
|
@ -1,314 +0,0 @@
|
||||
Index: uClibc++-0.2.2/include/ostream
|
||||
===================================================================
|
||||
--- uClibc++-0.2.2/include/ostream (revision 708)
|
||||
+++ uClibc++-0.2.2/include/ostream (revision 709)
|
||||
@@ -129,6 +129,18 @@
|
||||
return *this;
|
||||
}
|
||||
|
||||
+ _UCXXEXPORT void printout(const char_type* s, streamsize n)
|
||||
+ {
|
||||
+ int extra = ios::width() - n;
|
||||
+ if ((ios::flags()&ios::adjustfield) == ios::right)
|
||||
+ while (extra-- > 0)
|
||||
+ put(ios::fill());
|
||||
+ write(s, n);
|
||||
+ if ((ios::flags()&ios::adjustfield) == ios::left)
|
||||
+ while (extra-- > 0)
|
||||
+ put(ios::fill());
|
||||
+ }
|
||||
+
|
||||
protected:
|
||||
basic_ostream(const basic_ostream<charT,traits> &){ }
|
||||
basic_ostream<charT,traits> & operator=(const basic_ostream<charT,traits> &){ return *this; }
|
||||
@@ -142,15 +154,15 @@
|
||||
sentry s(*this);
|
||||
if( basic_ios<charT,traits>::flags() & ios_base::boolalpha){
|
||||
if(n){
|
||||
- write("true", 4);
|
||||
+ printout("true", 4);
|
||||
}else{
|
||||
- write("false", 5);
|
||||
+ printout("false", 5);
|
||||
}
|
||||
}else{
|
||||
if(n){
|
||||
- write("1", 1);
|
||||
+ printout("1", 1);
|
||||
}else{
|
||||
- write("0", 1);
|
||||
+ printout("0", 1);
|
||||
}
|
||||
}
|
||||
if(basic_ios<charT,traits>::flags() & ios_base::unitbuf){
|
||||
@@ -219,7 +231,7 @@
|
||||
template <class charT, class traits> _UCXXEXPORT basic_ostream<charT,traits>& basic_ostream<charT, traits>::operator<<(void* p){
|
||||
sentry s(*this);
|
||||
char buffer[20];
|
||||
- write(buffer, snprintf(buffer, 20, "%p", p) );
|
||||
+ printout(buffer, snprintf(buffer, 20, "%p", p) );
|
||||
if(basic_ios<charT,traits>::flags() & ios_base::unitbuf){
|
||||
flush();
|
||||
}
|
||||
@@ -356,7 +368,7 @@
|
||||
operator<<(basic_ostream<charT,traits>& out, const charT* c)
|
||||
{
|
||||
typename basic_ostream<charT,traits>::sentry s(out);
|
||||
- out.write(c, traits::length(c) );
|
||||
+ out.printout(c, traits::length(c) );
|
||||
return out;
|
||||
}
|
||||
|
||||
@@ -364,7 +376,7 @@
|
||||
operator<<(basic_ostream<charT,traits>& out, const char* c)
|
||||
{
|
||||
typename basic_ostream<charT,traits>::sentry s(out);
|
||||
- out.write(c, char_traits<char>::length(c) );
|
||||
+ out.printout(c, char_traits<char>::length(c) );
|
||||
return out;
|
||||
}
|
||||
|
||||
@@ -373,7 +385,7 @@
|
||||
operator<<(basic_ostream<char,traits>& out, const char* c)
|
||||
{
|
||||
typename basic_ostream<char,traits>::sentry s(out);
|
||||
- out.write(c, traits::length(c));
|
||||
+ out.printout(c, traits::length(c));
|
||||
return out;
|
||||
}
|
||||
|
||||
@@ -389,7 +401,7 @@
|
||||
temp[i] = out.widen(c[i]);
|
||||
}
|
||||
|
||||
- out.write(temp, numChars);
|
||||
+ out.printout(temp, numChars);
|
||||
return out;
|
||||
}
|
||||
#endif
|
||||
@@ -399,7 +411,7 @@
|
||||
operator<<(basic_ostream<char,traits>& out, const signed char* c)
|
||||
{
|
||||
typename basic_ostream<char,traits>::sentry s(out);
|
||||
- out.write(reinterpret_cast<const char *>(c), traits::length( reinterpret_cast<const char *>(c)));
|
||||
+ out.printout(reinterpret_cast<const char *>(c), traits::length( reinterpret_cast<const char *>(c)));
|
||||
return out;
|
||||
}
|
||||
|
||||
@@ -407,7 +419,7 @@
|
||||
operator<<(basic_ostream<char,traits>& out, const unsigned char* c)
|
||||
{
|
||||
typename basic_ostream<char,traits>::sentry s(out);
|
||||
- out.write(reinterpret_cast<const char *>(c), traits::length( reinterpret_cast<const char *>(c)));
|
||||
+ out.printout(reinterpret_cast<const char *>(c), traits::length( reinterpret_cast<const char *>(c)));
|
||||
return out;
|
||||
}
|
||||
|
||||
Index: uClibc++-0.2.2/include/ostream_helpers
|
||||
===================================================================
|
||||
--- uClibc++-0.2.2/include/ostream_helpers (revision 708)
|
||||
+++ uClibc++-0.2.2/include/ostream_helpers (revision 709)
|
||||
@@ -88,7 +88,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
- stream.write(buffer, snprintf(buffer, 20, formatString, n) );
|
||||
+ stream.printout(buffer, snprintf(buffer, 20, formatString, n) );
|
||||
|
||||
if(stream.flags() & ios_base::unitbuf){
|
||||
stream.flush();
|
||||
@@ -135,7 +135,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
- stream.write(buffer, snprintf(buffer, 20, formatString, n));
|
||||
+ stream.printout(buffer, snprintf(buffer, 20, formatString, n));
|
||||
if(stream.flags() & ios_base::unitbuf){
|
||||
stream.flush();
|
||||
}
|
||||
@@ -182,7 +182,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
- stream.write(buffer, snprintf(buffer, 27, formatString, n) );
|
||||
+ stream.printout(buffer, snprintf(buffer, 27, formatString, n) );
|
||||
|
||||
if(stream.flags() & ios_base::unitbuf){
|
||||
stream.flush();
|
||||
@@ -228,7 +228,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
- stream.write(buffer, snprintf(buffer, 27, formatString, n) );
|
||||
+ stream.printout(buffer, snprintf(buffer, 27, formatString, n) );
|
||||
|
||||
if(stream.flags() & ios_base::unitbuf){
|
||||
stream.flush();
|
||||
@@ -256,7 +256,7 @@
|
||||
} else {
|
||||
length = snprintf(buffer, 32, "%*.*g",static_cast<int>(stream.width()),static_cast<int>(stream.precision()), f);
|
||||
}
|
||||
- stream.write(buffer, length);
|
||||
+ stream.printout(buffer, length);
|
||||
if(stream.flags() & ios_base::unitbuf){
|
||||
stream.flush();
|
||||
}
|
||||
@@ -280,7 +280,7 @@
|
||||
} else {
|
||||
length = snprintf(buffer, 32, "%*.*Lg", static_cast<int>(stream.width()), static_cast<int>(stream.precision()), f);
|
||||
}
|
||||
- stream.write(buffer, length);
|
||||
+ stream.printout(buffer, length);
|
||||
if(stream.flags() & ios_base::unitbuf){
|
||||
stream.flush();
|
||||
}
|
||||
@@ -295,25 +295,25 @@
|
||||
{
|
||||
wchar_t buffer[20];
|
||||
if( stream.flags() & ios_base::dec){
|
||||
- stream.write(buffer, swprintf(buffer, 20, L"%ld", n));
|
||||
+ stream.printout(buffer, swprintf(buffer, 20, L"%ld", n));
|
||||
}else if( stream.flags() & ios_base::oct){
|
||||
if( stream.flags() & ios_base::showbase){
|
||||
- stream.write(buffer, swprintf(buffer, 20, L"%#lo", n));
|
||||
+ stream.printout(buffer, swprintf(buffer, 20, L"%#lo", n));
|
||||
}else{
|
||||
- stream.write(buffer, swprintf(buffer, 20, L"%lo", n) );
|
||||
+ stream.printout(buffer, swprintf(buffer, 20, L"%lo", n) );
|
||||
}
|
||||
}else if (stream.flags() & ios_base::hex){
|
||||
if(stream.flags() & ios_base::showbase){
|
||||
if(stream.flags() & ios_base::uppercase){
|
||||
- stream.write(buffer, swprintf(buffer, 20, L"%#lX", n) );
|
||||
+ stream.printout(buffer, swprintf(buffer, 20, L"%#lX", n) );
|
||||
}else{
|
||||
- stream.write(buffer, swprintf(buffer, 20, L"%#lx", n) );
|
||||
+ stream.printout(buffer, swprintf(buffer, 20, L"%#lx", n) );
|
||||
}
|
||||
}else{
|
||||
if(stream.flags() & ios_base::uppercase){
|
||||
- stream.write(buffer, swprintf(buffer, 20, L"%lX", n) );
|
||||
+ stream.printout(buffer, swprintf(buffer, 20, L"%lX", n) );
|
||||
}else{
|
||||
- stream.write(buffer, swprintf(buffer, 20, L"%lx", n) );
|
||||
+ stream.printout(buffer, swprintf(buffer, 20, L"%lx", n) );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -329,25 +329,25 @@
|
||||
{
|
||||
wchar_t buffer[20];
|
||||
if( stream.flags() & ios_base::dec){
|
||||
- stream.write(buffer, swprintf(buffer, 20, L"%lu", n));
|
||||
+ stream.printout(buffer, swprintf(buffer, 20, L"%lu", n));
|
||||
}else if( stream.flags() & ios_base::oct){
|
||||
if( stream.flags() & ios_base::showbase){
|
||||
- stream.write(buffer, swprintf(buffer, 20, L"%#lo", n));
|
||||
+ stream.printout(buffer, swprintf(buffer, 20, L"%#lo", n));
|
||||
}else{
|
||||
- stream.write(buffer, swprintf(buffer, 20, L"%lo", n) );
|
||||
+ stream.printout(buffer, swprintf(buffer, 20, L"%lo", n) );
|
||||
}
|
||||
}else if (stream.flags() & ios_base::hex){
|
||||
if(stream.flags() & ios_base::showbase){
|
||||
if(stream.flags() & ios_base::uppercase){
|
||||
- stream.write(buffer, swprintf(buffer, 20, L"%#lX", n) );
|
||||
+ stream.printout(buffer, swprintf(buffer, 20, L"%#lX", n) );
|
||||
}else{
|
||||
- stream.write(buffer, swprintf(buffer, 20, L"%#lx", n) );
|
||||
+ stream.printout(buffer, swprintf(buffer, 20, L"%#lx", n) );
|
||||
}
|
||||
}else{
|
||||
if(stream.flags() & ios_base::uppercase){
|
||||
- stream.write(buffer, swprintf(buffer, 20, L"%lX", n) );
|
||||
+ stream.printout(buffer, swprintf(buffer, 20, L"%lX", n) );
|
||||
}else{
|
||||
- stream.write(buffer, swprintf(buffer, 20, L"%lx", n) );
|
||||
+ stream.printout(buffer, swprintf(buffer, 20, L"%lx", n) );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -365,25 +365,25 @@
|
||||
{
|
||||
wchar_t buffer[28];
|
||||
if( stream.flags() & ios_base::dec){
|
||||
- stream.write(buffer, swprintf(buffer, 27, L"%lld", n));
|
||||
+ stream.printout(buffer, swprintf(buffer, 27, L"%lld", n));
|
||||
}else if( stream.flags() & ios_base::oct){
|
||||
if( stream.flags() & ios_base::showbase){
|
||||
- stream.write(buffer, swprintf(buffer, 27, L"%#llo", n));
|
||||
+ stream.printout(buffer, swprintf(buffer, 27, L"%#llo", n));
|
||||
}else{
|
||||
- stream.write(buffer, swprintf(buffer, 27, L"%llo", n) );
|
||||
+ stream.printout(buffer, swprintf(buffer, 27, L"%llo", n) );
|
||||
}
|
||||
}else if (stream.flags() & ios_base::hex){
|
||||
if(stream.flags() & ios_base::showbase){
|
||||
if(stream.flags() & ios_base::uppercase){
|
||||
- stream.write(buffer, swprintf(buffer, 27, L"%#llX", n) );
|
||||
+ stream.printout(buffer, swprintf(buffer, 27, L"%#llX", n) );
|
||||
}else{
|
||||
- stream.write(buffer, swprintf(buffer, 27, L"%#llx", n) );
|
||||
+ stream.printout(buffer, swprintf(buffer, 27, L"%#llx", n) );
|
||||
}
|
||||
}else{
|
||||
if(stream.flags() & ios_base::uppercase){
|
||||
- stream.write(buffer, swprintf(buffer, 27, L"%llX", n) );
|
||||
+ stream.printout(buffer, swprintf(buffer, 27, L"%llX", n) );
|
||||
}else{
|
||||
- stream.write(buffer, swprintf(buffer, 27, L"%llx", n) );
|
||||
+ stream.printout(buffer, swprintf(buffer, 27, L"%llx", n) );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -399,25 +399,25 @@
|
||||
{
|
||||
wchar_t buffer[28];
|
||||
if( stream.flags() & ios_base::dec){
|
||||
- stream.write(buffer, swprintf(buffer, 27, L"%llu", n));
|
||||
+ stream.printout(buffer, swprintf(buffer, 27, L"%llu", n));
|
||||
}else if( stream.flags() & ios_base::oct){
|
||||
if( stream.flags() & ios_base::showbase){
|
||||
- stream.write(buffer, swprintf(buffer, 27, L"%#llo", n));
|
||||
+ stream.printout(buffer, swprintf(buffer, 27, L"%#llo", n));
|
||||
}else{
|
||||
- stream.write(buffer, swprintf(buffer, 27, L"%llo", n) );
|
||||
+ stream.printout(buffer, swprintf(buffer, 27, L"%llo", n) );
|
||||
}
|
||||
}else if (stream.flags() & ios_base::hex){
|
||||
if(stream.flags() & ios_base::showbase){
|
||||
if(stream.flags() & ios_base::uppercase){
|
||||
- stream.write(buffer, swprintf(buffer, 27, L"%#llX", n) );
|
||||
+ stream.printout(buffer, swprintf(buffer, 27, L"%#llX", n) );
|
||||
}else{
|
||||
- stream.write(buffer, swprintf(buffer, 27, L"%#llx", n) );
|
||||
+ stream.printout(buffer, swprintf(buffer, 27, L"%#llx", n) );
|
||||
}
|
||||
}else{
|
||||
if(stream.flags() & ios_base::uppercase){
|
||||
- stream.write(buffer, swprintf(buffer, 27, L"%llX", n) );
|
||||
+ stream.printout(buffer, swprintf(buffer, 27, L"%llX", n) );
|
||||
}else{
|
||||
- stream.write(buffer, swprintf(buffer, 27, L"%llx", n) );
|
||||
+ stream.printout(buffer, swprintf(buffer, 27, L"%llx", n) );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -447,7 +447,7 @@
|
||||
} else {
|
||||
swprintf(format_string, 32, L"%%%u.%ug", static_cast<int>(stream.width()), static_cast<unsigned int>(stream.precision()));
|
||||
}
|
||||
- stream.write(buffer, swprintf(buffer, 32, format_string, f) );
|
||||
+ stream.printout(buffer, swprintf(buffer, 32, format_string, f) );
|
||||
if(stream.flags() & ios_base::unitbuf){
|
||||
stream.flush();
|
||||
}
|
||||
@@ -471,7 +471,7 @@
|
||||
} else {
|
||||
swprintf(format_string, 32, L"%%%u.%uLg", static_cast<unsigned int>(stream.width()), static_cast<unsigned int>(stream.precision()));
|
||||
}
|
||||
- stream.write(buffer, swprintf(buffer, 32, format_string, f) );
|
||||
+ stream.printout(buffer, swprintf(buffer, 32, format_string, f) );
|
||||
if(stream.flags() & ios_base::unitbuf){
|
||||
stream.flush();
|
||||
}
|
@ -1,70 +0,0 @@
|
||||
--- a/include/associative_base
|
||||
+++ b/include/associative_base
|
||||
@@ -318,7 +318,7 @@ protected:
|
||||
typedef std::list<ValueType> listtype;
|
||||
|
||||
typename listtype::iterator base_iter;
|
||||
- typedef _associative_citer<ValueType, Compare, Allocator> _associative_citer;
|
||||
+ typedef _associative_citer<ValueType, Compare, Allocator> __associative_citer;
|
||||
|
||||
|
||||
public:
|
||||
@@ -347,13 +347,13 @@ public:
|
||||
bool operator==(const _associative_iter & m) const{
|
||||
return m.base_iter == base_iter;
|
||||
}
|
||||
- bool operator==(const _associative_citer & m) const{
|
||||
+ bool operator==(const __associative_citer & m) const{
|
||||
return m.base_iter == base_iter;
|
||||
}
|
||||
bool operator!=(const _associative_iter & m) const{
|
||||
return m.base_iter != base_iter;
|
||||
}
|
||||
- bool operator!=(const _associative_citer & m) const{
|
||||
+ bool operator!=(const __associative_citer & m) const{
|
||||
return m.base_iter != base_iter;
|
||||
}
|
||||
_associative_iter & operator++(){
|
||||
@@ -378,8 +378,8 @@ public:
|
||||
--base_iter;
|
||||
return temp;
|
||||
}
|
||||
- operator _associative_citer() const{
|
||||
- return _associative_citer(base_iter);
|
||||
+ operator __associative_citer() const{
|
||||
+ return __associative_citer(base_iter);
|
||||
}
|
||||
typename listtype::iterator base_iterator(){
|
||||
return base_iter;
|
||||
--- a/include/string
|
||||
+++ b/include/string
|
||||
@@ -1017,11 +1017,11 @@ template<class charT, class traits, clas
|
||||
|
||||
template <> _UCXXEXPORT bool operator==(const string & lhs, const string & rhs);
|
||||
template <> _UCXXEXPORT bool operator==(const char * lhs, const string & rhs);
|
||||
-template <> _UCXXEXPORT bool operator==(const string & rhs, const char * rhs);
|
||||
+template <> _UCXXEXPORT bool operator==(const string & lhs, const char * rhs);
|
||||
|
||||
template <> _UCXXEXPORT bool operator!=(const string & lhs, const string & rhs);
|
||||
template <> _UCXXEXPORT bool operator!=(const char * lhs, const string & rhs);
|
||||
-template <> _UCXXEXPORT bool operator!=(const string & rhs, const char * rhs);
|
||||
+template <> _UCXXEXPORT bool operator!=(const string & lhs, const char * rhs);
|
||||
|
||||
template <> _UCXXEXPORT string operator+(const string & lhs, const char* rhs);
|
||||
template <> _UCXXEXPORT string operator+(const char* lhs, const string & rhs);
|
||||
--- a/src/string.cpp
|
||||
+++ b/src/string.cpp
|
||||
@@ -76,11 +76,11 @@ namespace std{
|
||||
|
||||
template _UCXXEXPORT bool operator==(const string & lhs, const string & rhs);
|
||||
template _UCXXEXPORT bool operator==(const char * lhs, const string & rhs);
|
||||
- template _UCXXEXPORT bool operator==(const string & rhs, const char * rhs);
|
||||
+ template _UCXXEXPORT bool operator==(const string & lhs, const char * rhs);
|
||||
|
||||
template _UCXXEXPORT bool operator!=(const string & lhs, const string & rhs);
|
||||
template _UCXXEXPORT bool operator!=(const char * lhs, const string & rhs);
|
||||
- template _UCXXEXPORT bool operator!=(const string & rhs, const char * rhs);
|
||||
+ template _UCXXEXPORT bool operator!=(const string & lhs, const char * rhs);
|
||||
|
||||
template _UCXXEXPORT string operator+(const string & lhs, const char* rhs);
|
||||
template _UCXXEXPORT string operator+(const char* lhs, const string & rhs);
|
@ -1,34 +0,0 @@
|
||||
--- a/include/cstring
|
||||
+++ b/include/cstring
|
||||
@@ -47,31 +47,6 @@ namespace std{
|
||||
using ::strstr;
|
||||
using ::strtok;
|
||||
using ::strxfrm;
|
||||
-
|
||||
-
|
||||
- //Extra definitions required in c++ spec
|
||||
-
|
||||
-
|
||||
- inline void* memchr(void* s, int c, size_t n){
|
||||
- return memchr(const_cast<const void *>(s), c, n);
|
||||
- }
|
||||
-
|
||||
- inline char* strchr(char* s, int c){
|
||||
- return strchr(const_cast<const char *>(s), c);
|
||||
- }
|
||||
-
|
||||
- inline char* strpbrk(char* s1, const char* s2){
|
||||
- return strpbrk(const_cast<const char *>(s1), s2);
|
||||
- }
|
||||
-
|
||||
- inline char* strrchr(char* s, int c){
|
||||
- return strrchr(const_cast<const char *>(s), c);
|
||||
- }
|
||||
-
|
||||
- inline char* strstr(char* s1, const char* s2){
|
||||
- return strstr(const_cast<const char *>(s1), s2);
|
||||
- }
|
||||
-
|
||||
}
|
||||
|
||||
#endif
|
@ -1,68 +0,0 @@
|
||||
--- a/src/eh_alloc.cpp 2007-06-03 23:51:13.000000000 +0100
|
||||
+++ b/src/eh_alloc.cpp 2009-07-13 09:42:39.000000000 +0100
|
||||
@@ -42,4 +42,21 @@
|
||||
free( (char *)(vptr) - sizeof(__cxa_exception) );
|
||||
}
|
||||
|
||||
+#if __GNUC__ * 100 + __GNUC_MINOR__ >= 404
|
||||
+extern "C" __cxa_dependent_exception* __cxa_allocate_dependent_exception() throw(){
|
||||
+ __cxa_dependent_exception *retval;
|
||||
+
|
||||
+ retval = static_cast<__cxa_dependent_exception*>(malloc(sizeof(__cxa_dependent_exception)));
|
||||
+ if(0 == retval){
|
||||
+ std::terminate();
|
||||
+ }
|
||||
+ memset (retval, 0, sizeof(__cxa_dependent_exception));
|
||||
+ return retval ;
|
||||
+}
|
||||
+
|
||||
+extern "C" void __cxa_free_dependent_exception(__cxa_dependent_exception *vptr) throw(){
|
||||
+ free( vptr );
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
}
|
||||
--- a/include/unwind-cxx.h 2009-07-13 10:01:11.000000000 +0100
|
||||
+++ b/include/unwind-cxx.h 2009-07-13 10:14:08.000000000 +0100
|
||||
@@ -79,6 +79,41 @@
|
||||
_Unwind_Exception unwindHeader;
|
||||
};
|
||||
|
||||
+#if __GNUC__ * 100 + __GNUC_MINOR__ >= 404
|
||||
+// A dependent C++ exception object consists of a wrapper around an unwind
|
||||
+// object header with additional C++ specific information, containing a pointer
|
||||
+// to a primary exception object.
|
||||
+
|
||||
+struct __cxa_dependent_exception
|
||||
+{
|
||||
+ // The primary exception this thing depends on.
|
||||
+ void *primaryException;
|
||||
+
|
||||
+ // The C++ standard has entertaining rules wrt calling set_terminate
|
||||
+ // and set_unexpected in the middle of the exception cleanup process.
|
||||
+ std::unexpected_handler unexpectedHandler;
|
||||
+ std::terminate_handler terminateHandler;
|
||||
+
|
||||
+ // The caught exception stack threads through here.
|
||||
+ __cxa_exception *nextException;
|
||||
+
|
||||
+ // How many nested handlers have caught this exception. A negated
|
||||
+ // value is a signal that this object has been rethrown.
|
||||
+ int handlerCount;
|
||||
+
|
||||
+ // Cache parsed handler data from the personality routine Phase 1
|
||||
+ // for Phase 2 and __cxa_call_unexpected.
|
||||
+ int handlerSwitchValue;
|
||||
+ const unsigned char *actionRecord;
|
||||
+ const unsigned char *languageSpecificData;
|
||||
+ _Unwind_Ptr catchTemp;
|
||||
+ void *adjustedPtr;
|
||||
+
|
||||
+ // The generic exception header. Must be last.
|
||||
+ _Unwind_Exception unwindHeader;
|
||||
+};
|
||||
+
|
||||
+#endif
|
||||
// Each thread in a C++ program has access to a __cxa_eh_globals object.
|
||||
struct __cxa_eh_globals
|
||||
{
|
Loading…
x
Reference in New Issue
Block a user