diff options
author | Paweł Sikora | 2007-06-02 07:10:26 (GMT) |
---|---|---|
committer | cvs2git | 2012-06-24 12:13:13 (GMT) |
commit | ee07131867d148ba1d146e3e9a3ed4b39de59edd (patch) | |
tree | 6e75d68fe222da0aee2a456b937d188695f12dbd | |
parent | 2ce7f3f789b69629688ba8971bde241cf96b033c (diff) | |
download | STLport-ee07131867d148ba1d146e3e9a3ed4b39de59edd.zip STLport-ee07131867d148ba1d146e3e9a3ed4b39de59edd.tar.gz |
- obsolete.
Changed files:
STLport-gcc420_dirty_hack.patch -> 1.2
-rw-r--r-- | STLport-gcc420_dirty_hack.patch | 203 |
1 files changed, 0 insertions, 203 deletions
diff --git a/STLport-gcc420_dirty_hack.patch b/STLport-gcc420_dirty_hack.patch deleted file mode 100644 index 7828519..0000000 --- a/STLport-gcc420_dirty_hack.patch +++ /dev/null @@ -1,203 +0,0 @@ ---- STLport-5.1.0/stlport/ext/type_traits.h.orig 1970-01-01 00:00:00.000000000 +0000 -+++ STLport-5.1.0/stlport/ext/type_traits.h 2006-12-18 12:56:32.000000000 +0000 -@@ -0,0 +1,200 @@ -+// -*- C++ -*- -+ -+// Copyright (C) 2005, 2006 Free Software Foundation, Inc. -+// -+// This file is part of the GNU ISO C++ Library. This library is free -+// software; you can redistribute it and/or modify it under the terms -+// of the GNU General Public License as published by the Free Software -+// Foundation; either version 2, or (at your option) any later -+// version. -+ -+// This library is distributed in the hope that it will be useful, but -+// WITHOUT ANY WARRANTY; without even the implied warranty of -+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+// General Public License for more details. -+ -+// You should have received a copy of the GNU General Public License along -+// with this library; see the file COPYING. If not, write to the Free -+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, -+// USA. -+ -+// As a special exception, you may use this file as part of a free -+// software library without restriction. Specifically, if other files -+// instantiate templates or use macros or inline functions from this -+// file, or you compile this file and link it with other files to -+// produce an executable, this file does not by itself cause the -+// resulting executable to be covered by the GNU General Public -+// License. This exception does not however invalidate any other -+// reasons why the executable file might be covered by the GNU General -+// Public License. -+ -+/** @file ext/type_traits.h -+ * This file is a GNU extension to the Standard C++ Library. -+ */ -+ -+#ifndef _EXT_TYPE_TRAITS -+#define _EXT_TYPE_TRAITS 1 -+ -+#pragma GCC system_header -+ -+#include <cstddef> -+#include <utility> -+#include <limits> -+#include <iosfwd> // std::streamsize -+#include <bits/cpp_type_traits.h> -+ -+_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) -+ -+ // Define a nested type if some predicate holds. -+ template<bool, typename> -+ struct __enable_if -+ { }; -+ -+ template<typename _Tp> -+ struct __enable_if<true, _Tp> -+ { typedef _Tp __type; }; -+ -+ -+ // Conditional expression for types. If true, first, if false, second. -+ template<bool _Cond, typename _Iftrue, typename _Iffalse> -+ struct __conditional_type -+ { typedef _Iftrue __type; }; -+ -+ template<typename _Iftrue, typename _Iffalse> -+ struct __conditional_type<false, _Iftrue, _Iffalse> -+ { typedef _Iffalse __type; }; -+ -+ -+ // Given an integral builtin type, return the corresponding unsigned type. -+ template<typename _Tp> -+ struct __add_unsigned -+ { -+ private: -+ typedef __enable_if<std::__is_integer<_Tp>::__value, _Tp> __if_type; -+ -+ public: -+ typedef typename __if_type::__type __type; -+ }; -+ -+ template<> -+ struct __add_unsigned<char> -+ { typedef unsigned char __type; }; -+ -+ template<> -+ struct __add_unsigned<signed char> -+ { typedef unsigned char __type; }; -+ -+ template<> -+ struct __add_unsigned<short> -+ { typedef unsigned short __type; }; -+ -+ template<> -+ struct __add_unsigned<int> -+ { typedef unsigned int __type; }; -+ -+ template<> -+ struct __add_unsigned<long> -+ { typedef unsigned long __type; }; -+ -+ template<> -+ struct __add_unsigned<long long> -+ { typedef unsigned long long __type; }; -+ -+ // Declare but don't define. -+ template<> -+ struct __add_unsigned<bool>; -+ -+ template<> -+ struct __add_unsigned<wchar_t>; -+ -+ -+ // Given an integral builtin type, return the corresponding signed type. -+ template<typename _Tp> -+ struct __remove_unsigned -+ { -+ private: -+ typedef __enable_if<std::__is_integer<_Tp>::__value, _Tp> __if_type; -+ -+ public: -+ typedef typename __if_type::__type __type; -+ }; -+ -+ template<> -+ struct __remove_unsigned<char> -+ { typedef signed char __type; }; -+ -+ template<> -+ struct __remove_unsigned<unsigned char> -+ { typedef signed char __type; }; -+ -+ template<> -+ struct __remove_unsigned<unsigned short> -+ { typedef short __type; }; -+ -+ template<> -+ struct __remove_unsigned<unsigned int> -+ { typedef int __type; }; -+ -+ template<> -+ struct __remove_unsigned<unsigned long> -+ { typedef long __type; }; -+ -+ template<> -+ struct __remove_unsigned<unsigned long long> -+ { typedef long long __type; }; -+ -+ // Declare but don't define. -+ template<> -+ struct __remove_unsigned<bool>; -+ -+ template<> -+ struct __remove_unsigned<wchar_t>; -+ -+ -+ // Compile time constants for builtin types. -+ // Sadly std::numeric_limits member functions cannot be used for this. -+#define __glibcxx_signed(_Tp) ((_Tp)(-1) < 0) -+#define __glibcxx_digits(_Tp) \ -+ (sizeof(_Tp) * __CHAR_BIT__ - __glibcxx_signed(_Tp)) -+ -+#define __glibcxx_min(_Tp) \ -+ (__glibcxx_signed(_Tp) ? (_Tp)1 << __glibcxx_digits(_Tp) : (_Tp)0) -+ -+#define __glibcxx_max(_Tp) \ -+ (__glibcxx_signed(_Tp) ? ((_Tp)1 << __glibcxx_digits(_Tp)) - 1 : ~(_Tp)0) -+ -+ template<typename _Value> -+ struct __numeric_traits_integer -+ { -+ // Only integers for initialization of member constant. -+ static const _Value __min = __glibcxx_min(_Value); -+ static const _Value __max = __glibcxx_max(_Value); -+ }; -+ -+ template<typename _Value> -+ const _Value __numeric_traits_integer<_Value>::__min; -+ -+ template<typename _Value> -+ const _Value __numeric_traits_integer<_Value>::__max; -+ -+ template<typename _Value> -+ struct __numeric_traits_floating -+ { -+ // Only floating point types. See N1822. -+ static const _STLP_STD::streamsize __max_digits10 = -+ 2 + _STLP_STD::numeric_limits<_Value>::digits * 3010/10000; -+ }; -+ -+ template<typename _Value> -+ const _STLP_STD::streamsize __numeric_traits_floating<_Value>::__max_digits10; -+ -+ template<typename _Value> -+ struct __numeric_traits -+ : public __conditional_type<std::__is_integer<_Value>::__value, -+ __numeric_traits_integer<_Value>, -+ __numeric_traits_floating<_Value> >::__type -+ { }; -+ -+_GLIBCXX_END_NAMESPACE -+ -+#endif |