Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(161)

Unified Diff: gcc/libstdc++-v3/testsuite/util/testsuite_rvalref.h

Issue 3050029: [gcc] GCC 4.5.0=>4.5.1 (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/nacl-toolchain.git
Patch Set: Created 10 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « gcc/libstdc++-v3/testsuite/util/testsuite_rng.h ('k') | gcc/libstdc++-v3/testsuite/util/thread/all.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gcc/libstdc++-v3/testsuite/util/testsuite_rvalref.h
diff --git a/gcc/libstdc++-v3/testsuite/util/testsuite_rvalref.h b/gcc/libstdc++-v3/testsuite/util/testsuite_rvalref.h
deleted file mode 100644
index 4e2f59c48f4dbd3aea2b058664d06ed65ee1c979..0000000000000000000000000000000000000000
--- a/gcc/libstdc++-v3/testsuite/util/testsuite_rvalref.h
+++ /dev/null
@@ -1,188 +0,0 @@
-// -*- C++ -*-
-// Testing utilities for the rvalue reference.
-//
-// Copyright (C) 2005, 2007, 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/>.
-//
-
-#ifndef _GLIBCXX_TESTSUITE_RVALREF_H
-#define _GLIBCXX_TESTSUITE_RVALREF_H 1
-
-#include <testsuite_hooks.h>
-
-namespace __gnu_test
-{
-
- // This class is designed to test libstdc++'s template-based rvalue
- // reference support. It should fail at compile-time if there is an attempt
- // to copy it (although see note just below).
- class rvalstruct
- {
- bool
- operator=(const rvalstruct&);
-
-// Normally we don't define a copy constructor, as any use of it would
-// show an inefficency. In some cases we know it will be aliased away
-// by the compiler, but it still insists it is defined, so we provide
-// a way of making it public but not giving a body, so any usage would
-// instead fail at link-time.
-#ifdef _GLIBCXX_TESTSUITE_ALLOW_RVALREF_ALIASING
- public:
- rvalstruct(const rvalstruct&);
-#else
- rvalstruct(const rvalstruct&);
-
- public:
-#endif
- int val;
- bool valid;
-
- rvalstruct() : valid(false)
- { }
-
- rvalstruct(int inval) : val(inval), valid(true)
- { }
-
- rvalstruct&
- operator=(int newval)
- {
- VERIFY(valid == false);
- val = newval;
- valid = true;
- return *this;
- }
-
- rvalstruct(rvalstruct&& in)
- {
- VERIFY(in.valid == true);
- val = in.val;
- in.valid = false;
- valid = true;
- }
-
- rvalstruct&
- operator=(rvalstruct&& in)
- {
- VERIFY(in.valid == true);
- val = in.val;
- in.valid = false;
- valid = true;
- return *this;
- }
- };
-
- bool
- operator==(const rvalstruct& lhs, const rvalstruct& rhs)
- { return lhs.val == rhs.val; }
-
- bool
- operator<(const rvalstruct& lhs, const rvalstruct& rhs)
- { return lhs.val < rhs.val; }
-
- void
- swap(rvalstruct& lhs, rvalstruct& rhs)
- {
- VERIFY(lhs.valid && rhs.valid);
- int temp = lhs.val;
- lhs.val = rhs.val;
- rhs.val = temp;
- }
-
- // This is a moveable class which copies how many times it is copied.
- // This is mainly of use in the containers, where the an element inserted
- // into a container has to be copied once to get there, but we want to check
- // nothing else is copied.
- struct copycounter
- {
- static int copycount;
- int val;
- bool valid;
-
- copycounter() : val(0), valid(true)
- { }
-
- copycounter(int inval) : val(inval), valid(true)
- { }
-
- copycounter(const copycounter& in) : val(in.val), valid(true)
- {
- VERIFY(in.valid == true);
- ++copycount;
- }
-
- copycounter(copycounter&& in)
- {
- VERIFY(in.valid == true);
- val = in.val;
- in.valid = false;
- valid = true;
- }
-
- copycounter&
- operator=(int newval)
- {
- val = newval;
- valid = true;
- return *this;
- }
-
- bool
- operator=(const copycounter& in)
- {
- VERIFY(in.valid == true);
- ++copycount;
- val = in.val;
- valid = true;
- return true;
- }
-
- copycounter&
- operator=(copycounter&& in)
- {
- VERIFY(in.valid == true);
- val = in.val;
- in.valid = false;
- valid = true;
- return *this;
- }
-
- ~copycounter()
- { valid = false; }
- };
-
- int copycounter::copycount = 0;
-
- bool
- operator==(const copycounter& lhs, const copycounter& rhs)
- { return lhs.val == rhs.val; }
-
- bool
- operator<(const copycounter& lhs, const copycounter& rhs)
- { return lhs.val < rhs.val; }
-
- void
- swap(copycounter& lhs, copycounter& rhs)
- {
- VERIFY(lhs.valid && rhs.valid);
- int temp = lhs.val;
- lhs.val = rhs.val;
- rhs.val = temp;
- }
-
-} // namespace __gnu_test
-
-#endif // _GLIBCXX_TESTSUITE_TR1_H
« no previous file with comments | « gcc/libstdc++-v3/testsuite/util/testsuite_rng.h ('k') | gcc/libstdc++-v3/testsuite/util/thread/all.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698