Commit 5acf59f8 by Benjamin Kosnik Committed by Benjamin Kosnik

std_memory.h: Fix formatting.


2002-07-03  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/std_memory.h: Fix formatting.
	* testsuite/20_util/auto_ptr_neg.cc: New.
	* testsuite/20_util/auto_ptr.cc: Tweaks.
	* testsuite/23_containers/map_operators.cc (test01): Split into..
	* testsuite/23_containers/map_operators_neg.cc (test01): ...this. New.
	* testsuite/23_containers/set_operators.cc: Move to...
	* testsuite/23_containers/set_operators_neg.cc: ...here.
	* testsuite/README: Add some more naming rules.

From-SVN: r55241
parent 7c0f8bc1
2002-07-03 Benjamin Kosnik <bkoz@redhat.com>
* include/std/std_memory.h: Fix formatting.
* testsuite/20_util/auto_ptr_neg.cc: New.
* testsuite/20_util/auto_ptr.cc: Tweaks.
* testsuite/23_containers/map_operators.cc (test01): Split into..
* testsuite/23_containers/map_operators_neg.cc (test01): ...this. New.
* testsuite/23_containers/set_operators.cc: Move to...
* testsuite/23_containers/set_operators_neg.cc: ...here.
* testsuite/README: Add some more naming rules.
2002-07-03 Steev Wilcox <steev@paradigmds.com> 2002-07-03 Steev Wilcox <steev@paradigmds.com>
PR libstdc++/7057 PR libstdc++/7057
......
...@@ -84,10 +84,6 @@ test01() ...@@ -84,10 +84,6 @@ test01()
VERIFY( B::ctor_count == 1 ); VERIFY( B::ctor_count == 1 );
VERIFY( B::dtor_count == 0 ); VERIFY( B::dtor_count == 0 );
#ifdef DEBUG_ASSERT
assert(test);
#endif
return 0; return 0;
} }
...@@ -112,10 +108,6 @@ test02() ...@@ -112,10 +108,6 @@ test02()
VERIFY( B::ctor_count == 1 ); VERIFY( B::ctor_count == 1 );
VERIFY( B::dtor_count == 0 ); VERIFY( B::dtor_count == 0 );
#ifdef DEBUG_ASSERT
assert(test);
#endif
return 0; return 0;
} }
...@@ -142,10 +134,6 @@ test03() ...@@ -142,10 +134,6 @@ test03()
VERIFY( B::ctor_count == 1 ); VERIFY( B::ctor_count == 1 );
VERIFY( B::dtor_count == 0 ); VERIFY( B::dtor_count == 0 );
#ifdef DEBUG_ASSERT
assert(test);
#endif
return 0; return 0;
} }
...@@ -167,10 +155,6 @@ test04() ...@@ -167,10 +155,6 @@ test04()
VERIFY( B::ctor_count == 2 ); VERIFY( B::ctor_count == 2 );
VERIFY( B::dtor_count == 2 ); VERIFY( B::dtor_count == 2 );
#ifdef DEBUG_ASSERT
assert(test);
#endif
return 0; return 0;
} }
...@@ -196,11 +180,6 @@ test05() ...@@ -196,11 +180,6 @@ test05()
VERIFY( A::dtor_count == 2 ); VERIFY( A::dtor_count == 2 );
VERIFY( B::ctor_count == 1 ); VERIFY( B::ctor_count == 1 );
VERIFY( B::dtor_count == 1 ); VERIFY( B::dtor_count == 1 );
#ifdef DEBUG_ASSERT
assert(test);
#endif
return 0; return 0;
} }
...@@ -232,11 +211,6 @@ test06() ...@@ -232,11 +211,6 @@ test06()
VERIFY( A_from_A_ptr.get() != A_ptr ); VERIFY( A_from_A_ptr.get() != A_ptr );
VERIFY( A_from_A_ptr->ctor_count == 2 ); VERIFY( A_from_A_ptr->ctor_count == 2 );
VERIFY( (*A_from_A_ptr).dtor_count == 1 ); VERIFY( (*A_from_A_ptr).dtor_count == 1 );
#ifdef DEBUG_ASSERT
assert(test);
#endif
return 0; return 0;
} }
...@@ -268,20 +242,16 @@ test07() ...@@ -268,20 +242,16 @@ test07()
VERIFY( A::dtor_count == 2 ); VERIFY( A::dtor_count == 2 );
VERIFY( B::ctor_count == 1 ); VERIFY( B::ctor_count == 1 );
VERIFY( B::dtor_count == 1 ); VERIFY( B::dtor_count == 1 );
#ifdef DEBUG_ASSERT
assert(test);
#endif
return 0; return 0;
} }
// libstdc++/3946
// http://gcc.gnu.org/ml/libstdc++/2002-07/msg00024.html // http://gcc.gnu.org/ml/libstdc++/2002-07/msg00024.html
struct Base{}; struct Base { };
struct Derived : public Base {}; struct Derived : public Base { };
std::auto_ptr<Derived> conversiontest08()
{ return std::auto_ptr<Derived>(new Derived); } std::auto_ptr<Derived>
conversiontest08() { return std::auto_ptr<Derived>(new Derived); }
void void
test08() test08()
......
// Copyright (C) 2002 Free Software Foundation
//
// 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.
// 20.4.5 Template class auto_ptr negative tests [lib.auto.ptr]
#include <memory>
#include <testsuite_hooks.h>
// { dg-do compile }
// { dg-excess-errors "" }
// via Jack Reeves <jack_reeves@hispeed.ch>
// libstdc++/3946
// http://gcc.gnu.org/ml/libstdc++/2002-07/msg00024.html
struct Base { };
struct Derived : public Base { };
std::auto_ptr<Derived>
foo() { return std::auto_ptr<Derived>(new Derived); }
int
test01()
{
std::auto_ptr<Base> ptr2;
ptr2 = new Base; // { dg-error "no" "candidates" "auto_ptr"}
return 0;
}
int
main()
{
test01();
return 0;
}
...@@ -24,25 +24,7 @@ ...@@ -24,25 +24,7 @@
#include <string> #include <string>
#include <iostream> #include <iostream>
// { dg-do compile } // libstdc++/737
// libstdc++/86: map & set iterator comparisons are not type-safe
void test01()
{
bool test = true;
std::map<unsigned int, int> mapByIndex;
std::map<std::string, unsigned> mapByName;
mapByIndex.insert(std::pair<unsigned, int>(0, 1));
mapByIndex.insert(std::pair<unsigned, int>(6, 5));
std::map<unsigned, int>::iterator itr(mapByIndex.begin());
// NB: notice, it's not mapByIndex!!
test &= itr != mapByName.end(); // { dg-error "no" }
test &= itr == mapByName.end(); // { dg-error "no" }
}
// http://gcc.gnu.org/ml/libstdc++/2000-11/msg00093.html // http://gcc.gnu.org/ml/libstdc++/2000-11/msg00093.html
void test02() void test02()
{ {
...@@ -53,17 +35,15 @@ void test02() ...@@ -53,17 +35,15 @@ void test02()
for (unsigned i=0;i<10;++i) for (unsigned i=0;i<10;++i)
m.insert(MapInt::value_type(i,i)); m.insert(MapInt::value_type(i,i));
for (MapInt::const_iterator i=m.begin();i!=m.end();++i) for (MapInt::const_iterator i = m.begin(); i != m.end(); ++i)
std::cerr << i->second << ' '; std::cerr << i->second << ' ';
for (MapInt::const_iterator i=m.begin();m.end()!=i;++i) for (MapInt::const_iterator i = m.begin(); m.end() != i; ++i)
std::cerr << i->second << ' '; std::cerr << i->second << ' ';
} }
int main() int main()
{ {
test01();
test02(); test02();
return 0; return 0;
} }
// 2000-09-07 bgarcia@laurelnetworks.com
// Copyright (C) 2000, 2001, 2002 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.
// 23.3.4 template class multiset negative tests
#include <map>
#include <string>
// { dg-do compile }
// libstdc++/86: map & set iterator comparisons are not type-safe
void test01()
{
bool test = true;
std::map<unsigned int, int> mapByIndex;
std::map<std::string, unsigned> mapByName;
mapByIndex.insert(std::pair<unsigned, int>(0, 1));
mapByIndex.insert(std::pair<unsigned, int>(6, 5));
std::map<unsigned, int>::iterator itr(mapByIndex.begin());
// NB: notice, it's not mapByIndex!!
test &= itr != mapByName.end(); // { dg-error "no" }
test &= itr == mapByName.end(); // { dg-error "no" }
}
int main()
{
test01();
return 0;
}
// 2000-09-07 bgarcia@laurelnetworks.com // 2000-09-07 bgarcia@laurelnetworks.com
// Copyright (C) 2000, 2001 Free Software Foundation, Inc. // Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
// //
// This file is part of the GNU ISO C++ Library. This library is free // 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 // software; you can redistribute it and/or modify it under the
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, // Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA. // USA.
// 23.3.4 template class multiset // 23.3.4 template class multiset negative tests
#include <set> #include <set>
#include <string> #include <string>
......
...@@ -24,6 +24,15 @@ that, the naming seems mostly consistent. If the file exists, add a ...@@ -24,6 +24,15 @@ that, the naming seems mostly consistent. If the file exists, add a
test to it. If it does not, then create a new file. All files are test to it. If it does not, then create a new file. All files are
copyright the FSF, and GPL'd: this is very important. copyright the FSF, and GPL'd: this is very important.
In addition, some of the locale and io code tests different
instantiating types: thus, 'char' or 'wchar_t' is appended to the name
as constructed above.
Also, some test files are negative tests. That is, they are supposed
to fail (usually this involves making sure some kind of construct gets
an error when it's compiled.) These test files have 'neg' appended to
the name as constructed above.
Inside a test file, the plan is to test the relevant parts of the Inside a test file, the plan is to test the relevant parts of the
standard, and then add specific regressions as additional test standard, and then add specific regressions as additional test
functions, ie test04() can represent a specific regression noted in functions, ie test04() can represent a specific regression noted in
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment