From: nbd Date: Tue, 27 Jan 2009 22:43:41 +0000 (+0000) Subject: fix uclibc++ for gcc 4.3 and uclibc 0.9.30 (thx to Alexandros C. Couloumbis) X-Git-Url: http://207.154.207.93/?a=commitdiff_plain;h=6bc6a498d481a4c4a24fc32a9138a15653408a9e;p=packages.git fix uclibc++ for gcc 4.3 and uclibc 0.9.30 (thx to Alexandros C. Couloumbis) git-svn-id: svn://svn.openwrt.org/openwrt/packages@14231 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- diff --git a/libs/uclibc++/patches/009-compile_fixes.patch b/libs/uclibc++/patches/009-compile_fixes.patch new file mode 100644 index 000000000..d2093be39 --- /dev/null +++ b/libs/uclibc++/patches/009-compile_fixes.patch @@ -0,0 +1,79 @@ +--- a/include/associative_base ++++ b/include/associative_base +@@ -74,7 +74,7 @@ public: + typedef typename std::reverse_iterator const_reverse_iterator; + + +- explicit __base_associative(const Compare& comp, const Allocator& A, const key_type (*v_to_k)(const value_type)) ++ explicit __base_associative(const Compare& comp, const Allocator& A, key_type (*v_to_k)(const value_type)) + : c(comp), value_to_key(v_to_k) { } + protected: + __base_associative(const associative_type& x) +@@ -318,7 +318,7 @@ protected: + typedef std::list listtype; + + typename listtype::iterator base_iter; +- typedef _associative_citer _associative_citer; ++ typedef _associative_citer __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 _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);