summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>2000-06-30 00:49:12 +0000
committerbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>2000-06-30 00:49:12 +0000
commit617d12ff0c99a8bbf284ef2390ef3aef1e3b3096 (patch)
treee37da322a543315bc660fb64a3a6500f7860d583
parent3e9981ae37060d321210a4f45fed0b37c277b7f7 (diff)
downloadppe42-gcc-617d12ff0c99a8bbf284ef2390ef3aef1e3b3096.tar.gz
ppe42-gcc-617d12ff0c99a8bbf284ef2390ef3aef1e3b3096.zip
2000-06-29 scott snyder <snyder@fnal.gov>
* bits/concept_checks.h (__less_then_comparable_requirement_violation): Only check for <. * testsuite/25_algorithms/lower_bound.cc: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34798 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--libstdc++-v3/ChangeLog8
-rw-r--r--libstdc++-v3/bits/concept_checks.h2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/lower_bound.cc50
3 files changed, 58 insertions, 2 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 6f1b2277ad8..c1680a6f1d6 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,9 @@
+2000-06-29 scott snyder <snyder@fnal.gov>
+
+ * bits/concept_checks.h
+ (__less_then_comparable_requirement_violation): Only check for <.
+ * testsuite/25_algorithms/lower_bound.cc: New file.
+
2000-06-29 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
* testsuite/27_io/ostream_manip.cc (test02): Add tests.
@@ -6,7 +12,7 @@
_M_buf_size_opt too.
* bits/std_streambuf.h (basic_streambuf::~basic_streambuf): Zero
out _M_buf_size_opt.
- * bits/std_sstream.h (basic_stringbuf::_M_init_stringbuf): Zero
+ * bits/std_sstream.h (basic_stringbuf::_M_init_stringbuf): Set
_M_buf_size_opt out here.
* bits/char_traits.h (char_traits::eos): Non standard member
function, uglify to __eos. Return char_type().
diff --git a/libstdc++-v3/bits/concept_checks.h b/libstdc++-v3/bits/concept_checks.h
index 36df2833286..4a0e2d55703 100644
--- a/libstdc++-v3/bits/concept_checks.h
+++ b/libstdc++-v3/bits/concept_checks.h
@@ -393,7 +393,7 @@ struct _STL_ERROR {
template <class _Type>
static _Type
__less_than_comparable_requirement_violation(_Type __a, _Type __b) {
- if (__a < __b || __a > __b || __a <= __b || __a >= __b) return __a;
+ if (__a < __b) return __a;
return __b;
}
template <class _Type>
diff --git a/libstdc++-v3/testsuite/25_algorithms/lower_bound.cc b/libstdc++-v3/testsuite/25_algorithms/lower_bound.cc
new file mode 100644
index 00000000000..076c954c535
--- /dev/null
+++ b/libstdc++-v3/testsuite/25_algorithms/lower_bound.cc
@@ -0,0 +1,50 @@
+// Copyright (C) 2000 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.
+
+#include <algorithm>
+#ifdef DEBUG_ASSERT
+#include <assert.h>
+#endif
+
+// http://sourceware.cygnus.com/ml/libstdc++/2000-06/msg00316.html
+struct foo { };
+
+bool operator== (const foo&, const foo&) { };
+bool operator< (const foo&, const foo&) { };
+
+void bar(foo* a, foo* b, foo& x)
+{
+ foo* c = std::lower_bound(a, b, x);
+}
+
+void test01()
+{
+ bool test = true;
+
+#ifdef DEBUG_ASSERT
+ assert(test);
+#endif
+}
+
+int main()
+{
+ return 0;
+}
+
+
+
OpenPOWER on IntegriCloud