fix uclibc++ for gcc 4.3 and uclibc 0.9.30 (thx to Alexandros C. Couloumbis)
authorFelix Fietkau <nbd@openwrt.org>
Tue, 27 Jan 2009 22:43:41 +0000 (22:43 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Tue, 27 Jan 2009 22:43:41 +0000 (22:43 +0000)
SVN-Revision: 14231

libs/uclibc++/patches/009-compile_fixes.patch [new file with mode: 0644]

diff --git a/libs/uclibc++/patches/009-compile_fixes.patch b/libs/uclibc++/patches/009-compile_fixes.patch
new file mode 100644 (file)
index 0000000..d2093be
--- /dev/null
@@ -0,0 +1,79 @@
+--- a/include/associative_base
++++ b/include/associative_base
+@@ -74,7 +74,7 @@ public:
+       typedef typename std::reverse_iterator<const_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<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);