re PR libstdc++/35922 (std::unordered_map missing in debug mode)
authorBenjamin Kosnik <bkoz@redhat.com>
Sat, 26 Apr 2008 02:21:37 +0000 (02:21 +0000)
committerBenjamin Kosnik <bkoz@gcc.gnu.org>
Sat, 26 Apr 2008 02:21:37 +0000 (02:21 +0000)
2008-04-25  Benjamin Kosnik  <bkoz@redhat.com>

PR libstdc++/35922
* include/std/unordered_map: Include debug/unordered_map if
_GLIBCXX_DEBUG.
* testsuite/23_containers/unordered_map/requirements/debug.cc: Move...
* testsuite/23_containers/unordered_map/requirements/
debug_container.cc: ...here.
* testsuite/23_containers/unordered_map/requirements/debug_mode.cc: New.
* testsuite/23_containers/unordered_set/requirements/debug.cc: Move...
* testsuite/23_containers/unordered_set/requirements/
debug_container.cc: ...here.
* testsuite/23_containers/unordered_set/requirements/debug_mode.cc: New.

From-SVN: r134693

libstdc++-v3/ChangeLog
libstdc++-v3/include/std/unordered_map
libstdc++-v3/testsuite/23_containers/unordered_map/requirements/debug.cc [deleted file]
libstdc++-v3/testsuite/23_containers/unordered_map/requirements/debug_container.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/unordered_map/requirements/debug_mode.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/unordered_set/requirements/debug.cc [deleted file]
libstdc++-v3/testsuite/23_containers/unordered_set/requirements/debug_container.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/unordered_set/requirements/debug_mode.cc [new file with mode: 0644]

index 23057295399df1760c1de0c5c341a1c5f434dfd8..ded6f51a2ab39ea296e4cb926b71a5abfc1e4ae7 100644 (file)
@@ -1,3 +1,17 @@
+2008-04-25  Benjamin Kosnik  <bkoz@redhat.com>
+
+       PR libstdc++/35922
+       * include/std/unordered_map: Include debug/unordered_map if
+       _GLIBCXX_DEBUG.
+       * testsuite/23_containers/unordered_map/requirements/debug.cc: Move...
+       * testsuite/23_containers/unordered_map/requirements/
+       debug_container.cc: ...here.
+       * testsuite/23_containers/unordered_map/requirements/debug_mode.cc: New.
+       * testsuite/23_containers/unordered_set/requirements/debug.cc: Move...
+       * testsuite/23_containers/unordered_set/requirements/
+       debug_container.cc: ...here.
+       * testsuite/23_containers/unordered_set/requirements/debug_mode.cc: New.
+       
 2008-04-25  Benjamin Kosnik  <bkoz@redhat.com>
 
        PR libstdc++/35887
index 5fb714dd48db289deb2f7d31599780ce480c5f69..73be402e474353093951fcbe297d48076378a6bb 100644 (file)
@@ -1,6 +1,6 @@
 // <unordered_map> -*- C++ -*-
 
-// Copyright (C) 2007 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2008 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
@@ -73,4 +73,8 @@
 #  undef _GLIBCXX_INCLUDE_AS_CXX0X
 #endif
 
+#ifdef _GLIBCXX_DEBUG
+# include <debug/unordered_map>
+#endif
+
 #endif // _GLIBCXX_UNORDERED_MAP
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/debug.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/debug.cc
deleted file mode 100644 (file)
index a880bdc..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-// { dg-do compile }
-
-// Copyright (C) 2007 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.
-
-#include <string>
-#include <debug/unordered_map>
-
-using namespace __gnu_debug;
-
-using std::allocator;
-using std::equal_to;
-using std::hash;
-using std::pair;
-using std::string;
-
-template class unordered_map<string, float>;
-template class unordered_map<string, int,
-                            hash<string>, equal_to<string>, 
-                            allocator<pair<const string, int> > >;
-template class unordered_map<string, float,
-                            hash<string>, equal_to<string>, 
-                            allocator<char> >;
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/debug_container.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/debug_container.cc
new file mode 100644 (file)
index 0000000..a880bdc
--- /dev/null
@@ -0,0 +1,39 @@
+// { dg-options "-std=gnu++0x" }
+// { dg-do compile }
+
+// Copyright (C) 2007 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.
+
+#include <string>
+#include <debug/unordered_map>
+
+using namespace __gnu_debug;
+
+using std::allocator;
+using std::equal_to;
+using std::hash;
+using std::pair;
+using std::string;
+
+template class unordered_map<string, float>;
+template class unordered_map<string, int,
+                            hash<string>, equal_to<string>, 
+                            allocator<pair<const string, int> > >;
+template class unordered_map<string, float,
+                            hash<string>, equal_to<string>, 
+                            allocator<char> >;
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/debug_mode.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/debug_mode.cc
new file mode 100644 (file)
index 0000000..c2d3ffe
--- /dev/null
@@ -0,0 +1,38 @@
+// { dg-options "-std=gnu++0x -D_GLIBCXX_DEBUG" }
+// { dg-do compile }
+
+// Copyright (C) 2007 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, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// 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.
+
+#include <unordered_map>
+
+//PR libstdc++/35922
+int main()
+{
+  std::unordered_map<int, int> m;
+}
+
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/debug.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/debug.cc
deleted file mode 100644 (file)
index 2894dff..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-// { dg-do compile }
-
-// Copyright (C) 2007 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.
-
-#include <debug/unordered_set>
-
-using namespace __gnu_debug;
-
-template class unordered_set<int>;
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/debug_container.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/debug_container.cc
new file mode 100644 (file)
index 0000000..2894dff
--- /dev/null
@@ -0,0 +1,26 @@
+// { dg-options "-std=gnu++0x" }
+// { dg-do compile }
+
+// Copyright (C) 2007 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.
+
+#include <debug/unordered_set>
+
+using namespace __gnu_debug;
+
+template class unordered_set<int>;
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/debug_mode.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/debug_mode.cc
new file mode 100644 (file)
index 0000000..463e6a3
--- /dev/null
@@ -0,0 +1,38 @@
+// { dg-options "-std=gnu++0x -D_GLIBCXX_DEBUG" }
+// { dg-do compile }
+
+// Copyright (C) 2007 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, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// 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.
+
+#include <unordered_set>
+
+//PR libstdc++/35922
+int main()
+{
+  std::unordered_set<int> s;
+}
+