aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.6/libstdc++-v3/testsuite/24_iterators/istream_iterator
diff options
context:
space:
mode:
authorJing Yu <jingyu@google.com>2011-12-19 16:56:54 -0800
committerJing Yu <jingyu@google.com>2011-12-19 16:56:54 -0800
commit40d7cd0fd78fe2004e2a53c4618c148339b02733 (patch)
tree5874557a6c86a1f564a03e5f28b266e31bc3759c /gcc-4.6/libstdc++-v3/testsuite/24_iterators/istream_iterator
parentfe2afdf3f3701489c05d2a7509752d6f0c7616f7 (diff)
downloadtoolchain_gcc-40d7cd0fd78fe2004e2a53c4618c148339b02733.tar.gz
toolchain_gcc-40d7cd0fd78fe2004e2a53c4618c148339b02733.tar.bz2
toolchain_gcc-40d7cd0fd78fe2004e2a53c4618c148339b02733.zip
Add gcc-4.6. Synced to @180989
Change-Id: Ie3676586e1d8e3c8cd9f07d022f450d05fa08439 svn://gcc.gnu.org/svn/gcc/branches/google/gcc-4_6-mobile
Diffstat (limited to 'gcc-4.6/libstdc++-v3/testsuite/24_iterators/istream_iterator')
-rw-r--r--gcc-4.6/libstdc++-v3/testsuite/24_iterators/istream_iterator/2.cc64
-rw-r--r--gcc-4.6/libstdc++-v3/testsuite/24_iterators/istream_iterator/cons/constexpr.cc29
-rw-r--r--gcc-4.6/libstdc++-v3/testsuite/24_iterators/istream_iterator/requirements/base_classes.cc37
-rw-r--r--gcc-4.6/libstdc++-v3/testsuite/24_iterators/istream_iterator/requirements/explicit_instantiation.cc28
-rw-r--r--gcc-4.6/libstdc++-v3/testsuite/24_iterators/istream_iterator/requirements/typedefs.cc42
5 files changed, 200 insertions, 0 deletions
diff --git a/gcc-4.6/libstdc++-v3/testsuite/24_iterators/istream_iterator/2.cc b/gcc-4.6/libstdc++-v3/testsuite/24_iterators/istream_iterator/2.cc
new file mode 100644
index 000000000..b84924a30
--- /dev/null
+++ b/gcc-4.6/libstdc++-v3/testsuite/24_iterators/istream_iterator/2.cc
@@ -0,0 +1,64 @@
+// 2001-06-25 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2001, 2003, 2009 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.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 24.5.1 Template class istream_iterator
+
+#include <iterator>
+#include <sstream>
+#include <testsuite_hooks.h>
+
+void test02()
+{
+ using namespace std;
+ bool test __attribute__((unused)) = true;
+
+ string st("R.Rorty");
+
+ string re_01, re_02, re_03;
+ re_02 = ",H.Putnam";
+ re_03 = "D.Dennett,xxx,H.Putnam";
+
+ stringbuf sb_01(st);
+ istream is_01(&sb_01);
+ istream_iterator<char> inb_01(is_01);
+ istream_iterator<char> ine_01;
+ re_01.assign(inb_01, ine_01);
+ VERIFY( re_01 == "R.Rorty" );
+
+ stringbuf sb_02(st);
+ istream is_02(&sb_02);
+ istream_iterator<char> inb_02(is_02);
+ istream_iterator<char> ine_02;
+ re_02.insert(re_02.begin(), inb_02, ine_02);
+ VERIFY( re_02 == "R.Rorty,H.Putnam" );
+
+ stringbuf sb_03(st);
+ istream is_03(&sb_03);
+ istream_iterator<char> inb_03(is_03);
+ istream_iterator<char> ine_03;
+ re_03.replace(re_03.begin() + 10, re_03.begin() + 13,
+ inb_03, ine_03);
+ VERIFY( re_03 == "D.Dennett,R.Rorty,H.Putnam" );
+}
+
+int main()
+{
+ test02();
+ return 0;
+}
diff --git a/gcc-4.6/libstdc++-v3/testsuite/24_iterators/istream_iterator/cons/constexpr.cc b/gcc-4.6/libstdc++-v3/testsuite/24_iterators/istream_iterator/cons/constexpr.cc
new file mode 100644
index 000000000..20b419973
--- /dev/null
+++ b/gcc-4.6/libstdc++-v3/testsuite/24_iterators/istream_iterator/cons/constexpr.cc
@@ -0,0 +1,29 @@
+// { dg-do compile }
+// { dg-options "-std=gnu++0x" }
+
+// Copyright (C) 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.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+#include <iterator>
+#include <testsuite_common_types.h>
+
+int main()
+{
+ __gnu_test::constexpr_default_constructible test;
+ test.operator()<std::istream_iterator<char>>();
+ return 0;
+}
diff --git a/gcc-4.6/libstdc++-v3/testsuite/24_iterators/istream_iterator/requirements/base_classes.cc b/gcc-4.6/libstdc++-v3/testsuite/24_iterators/istream_iterator/requirements/base_classes.cc
new file mode 100644
index 000000000..f03c39022
--- /dev/null
+++ b/gcc-4.6/libstdc++-v3/testsuite/24_iterators/istream_iterator/requirements/base_classes.cc
@@ -0,0 +1,37 @@
+// { dg-do compile }
+// 2001-06-25 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2001, 2003, 2009 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.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 24.5.1 Template class istream_iterator
+
+#include <iterator>
+#include <sstream>
+#include <testsuite_hooks.h>
+
+void test01()
+{
+ using namespace std;
+
+ // Check for required base class.
+ typedef istream_iterator<long> test_iterator;
+ typedef iterator<input_iterator_tag, long, ptrdiff_t, const long*,
+ const long&> base_iterator;
+ test_iterator r_it;
+ base_iterator* base __attribute__((unused)) = &r_it;
+}
diff --git a/gcc-4.6/libstdc++-v3/testsuite/24_iterators/istream_iterator/requirements/explicit_instantiation.cc b/gcc-4.6/libstdc++-v3/testsuite/24_iterators/istream_iterator/requirements/explicit_instantiation.cc
new file mode 100644
index 000000000..6e3ac3dda
--- /dev/null
+++ b/gcc-4.6/libstdc++-v3/testsuite/24_iterators/istream_iterator/requirements/explicit_instantiation.cc
@@ -0,0 +1,28 @@
+// { dg-do compile }
+// 2001-06-25 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2001, 2003, 2009 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.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 24.5.1 Template class istream_iterator
+
+#include <iterator>
+#include <sstream>
+#include <testsuite_hooks.h>
+
+// Instantiate
+template class std::istream_iterator<char>;
diff --git a/gcc-4.6/libstdc++-v3/testsuite/24_iterators/istream_iterator/requirements/typedefs.cc b/gcc-4.6/libstdc++-v3/testsuite/24_iterators/istream_iterator/requirements/typedefs.cc
new file mode 100644
index 000000000..3c4613e7b
--- /dev/null
+++ b/gcc-4.6/libstdc++-v3/testsuite/24_iterators/istream_iterator/requirements/typedefs.cc
@@ -0,0 +1,42 @@
+// { dg-do compile }
+// 2001-06-25 Benjamin Kosnik <bkoz@redhat.com>
+
+// Copyright (C) 2001, 2003, 2009 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.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// 24.5.1 Template class istream_iterator
+
+#include <iterator>
+#include <sstream>
+#include <testsuite_hooks.h>
+
+void test01()
+{
+ using namespace std;
+
+ // Check for required typedefs
+ typedef istream_iterator<long> test_iterator;
+ typedef test_iterator::value_type value_type;
+ typedef test_iterator::difference_type difference_type;
+ typedef test_iterator::pointer pointer;
+ typedef test_iterator::reference reference;
+ typedef test_iterator::iterator_category iteratory_category;
+
+ typedef test_iterator::char_type char_type;
+ typedef test_iterator::traits_type traits_type;
+ typedef test_iterator::istream_type istream_type;
+}