OSDN Git Service

2010-09-10 Paolo Carlini <paolo.carlini@oracle.com>
authorpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 10 Sep 2010 14:07:55 +0000 (14:07 +0000)
committerpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 10 Sep 2010 14:07:55 +0000 (14:07 +0000)
* src/hash-string-aux.cc: Remove. Move contents...
* src/hash_tr1.cc: ... here.
* src/compatibility-c++0x.cc: ... and here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164178 138bc75d-0d04-0410-961f-82ee72b054a4

libstdc++-v3/ChangeLog
libstdc++-v3/src/compatibility-c++0x.cc
libstdc++-v3/src/hash-string-aux.cc [deleted file]
libstdc++-v3/src/hash_tr1.cc

index 127ea5e..819e45b 100644 (file)
@@ -1,3 +1,9 @@
+2010-09-10  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * src/hash-string-aux.cc: Remove. Move contents...
+       * src/hash_tr1.cc: ... here.
+       * src/compatibility-c++0x.cc: ... and here.
+
 2010-09-09  Paolo Carlini  <paolo.carlini@oracle.com>
 
        PR libstdc++/45613
index 759267a..e86eb8d 100644 (file)
@@ -50,7 +50,29 @@ namespace std
   // We need these due to the symbols exported since GLIBCXX_3.4.10.
   // See libstdc++/41662 for details.
 
-#include "hash-string-aux.cc"
+#ifndef _GLIBCXX_LONG_DOUBLE_COMPAT_IMPL
+  template<>
+    size_t
+    hash<string>::operator()(string __s) const
+    { return _Fnv_hash::hash(__s.data(), __s.length()); }
+
+  template<>
+    size_t
+    hash<const string&>::operator()(const string& __s) const
+    { return _Fnv_hash::hash(__s.data(), __s.length()); }
+
+#ifdef _GLIBCXX_USE_WCHAR_T
+  template<>
+    size_t
+    hash<wstring>::operator()(wstring __s) const
+    { return _Fnv_hash::hash(__s.data(), __s.length() * sizeof(wchar_t)); }
+
+  template<>
+    size_t
+    hash<const wstring&>::operator()(const wstring& __s) const
+    { return _Fnv_hash::hash(__s.data(), __s.length() * sizeof(wchar_t)); }
+#endif
+#endif
 
   template<>
     size_t
diff --git a/libstdc++-v3/src/hash-string-aux.cc b/libstdc++-v3/src/hash-string-aux.cc
deleted file mode 100644 (file)
index 711d7f4..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-//  std::hash and std::tr1::hash definitions, string bits -*- C++ -*-
-
-// Copyright (C) 2007, 2008, 2009, 2010 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 3, 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.
-
-// Under Section 7 of GPL version 3, you are granted additional
-// permissions described in the GCC Runtime Library Exception, version
-// 3.1, as published by the Free Software Foundation.
-
-// You should have received a copy of the GNU General Public License and
-// a copy of the GCC Runtime Library Exception along with this program;
-// see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-// <http://www.gnu.org/licenses/>.
-
-#ifndef _GLIBCXX_LONG_DOUBLE_COMPAT_IMPL
-  template<>
-    size_t
-    hash<string>::operator()(string __s) const
-    { return _Fnv_hash::hash(__s.data(), __s.length()); }
-
-  template<>
-    size_t
-    hash<const string&>::operator()(const string& __s) const
-    { return _Fnv_hash::hash(__s.data(), __s.length()); }
-
-#ifdef _GLIBCXX_USE_WCHAR_T
-  template<>
-    size_t
-    hash<wstring>::operator()(wstring __s) const
-    { return _Fnv_hash::hash(__s.data(), __s.length() * sizeof(wchar_t)); }
-
-  template<>
-    size_t
-    hash<const wstring&>::operator()(const wstring& __s) const
-    { return _Fnv_hash::hash(__s.data(), __s.length() * sizeof(wchar_t)); }
-#endif
-
-#endif
index 0dca086..03f3ad3 100644 (file)
@@ -30,6 +30,29 @@ namespace std
   namespace tr1 
   {
 #include "hash-long-double-aux.cc"
-#include "hash-string-aux.cc"
+
+#ifndef _GLIBCXX_LONG_DOUBLE_COMPAT_IMPL
+  template<>
+    size_t
+    hash<string>::operator()(string __s) const
+    { return _Fnv_hash::hash(__s.data(), __s.length()); }
+
+  template<>
+    size_t
+    hash<const string&>::operator()(const string& __s) const
+    { return _Fnv_hash::hash(__s.data(), __s.length()); }
+
+#ifdef _GLIBCXX_USE_WCHAR_T
+  template<>
+    size_t
+    hash<wstring>::operator()(wstring __s) const
+    { return _Fnv_hash::hash(__s.data(), __s.length() * sizeof(wchar_t)); }
+
+  template<>
+    size_t
+    hash<const wstring&>::operator()(const wstring& __s) const
+    { return _Fnv_hash::hash(__s.data(), __s.length() * sizeof(wchar_t)); }
+#endif
+#endif
   }
 }