summaryrefslogtreecommitdiff
path: root/libstdc++-v3/testsuite/util
diff options
context:
space:
mode:
authorbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>2010-11-06 03:35:46 +0000
committerbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>2010-11-06 03:35:46 +0000
commit327f127d1bd4ac290b50a0bb35ee57a657e5aaae (patch)
treef8596fda8df8c1d5d1c10f99072f04158f5e7d1e /libstdc++-v3/testsuite/util
parent494f3f05703f498e674b3c7c229315f4a803e0a8 (diff)
downloadgcc-327f127d1bd4ac290b50a0bb35ee57a657e5aaae.tar.gz
2010-11-05 Benjamin Kosnik <bkoz@redhat.com>
* doc/doxygen/user.cfg.in: Add typeindex. * testsuite/util/testsuite_common_types.h (constexpr_comparison_eq_ne, constexpr_comparison_operators): New. * testsuite/20_util/duration/comparisons: Move... * testsuite/20_util/duration/comparison_operators: ...here. * testsuite/20_util/duration/comparison_operators/constexpr.cc: New. * testsuite/20_util/time_point/comparison_operators/constexpr.cc: Add. * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Adjust line numbers. * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Same. * testsuite/29_atomics/atomic/cons/assign_neg.cc: Same. * testsuite/29_atomics/atomic/cons/copy_neg.cc: Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166392 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/testsuite/util')
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_common_types.h29
1 files changed, 28 insertions, 1 deletions
diff --git a/libstdc++-v3/testsuite/util/testsuite_common_types.h b/libstdc++-v3/testsuite/util/testsuite_common_types.h
index c601063b0a3..c78f9450417 100644
--- a/libstdc++-v3/testsuite/util/testsuite_common_types.h
+++ b/libstdc++-v3/testsuite/util/testsuite_common_types.h
@@ -462,8 +462,35 @@ namespace __gnu_test
}
};
- // Generator to test standard layout
#ifdef __GXX_EXPERIMENTAL_CXX0X__
+
+ struct constexpr_comparison_eq_ne
+ {
+ template<typename _Tp1, typename _Tp2 = _Tp1>
+ void
+ operator()()
+ {
+ static_assert(_Tp1() == _Tp2(), "eq");
+ static_assert(!(_Tp1() != _Tp2()), "ne");
+ }
+ };
+
+ struct constexpr_comparison_operators
+ {
+ template<typename _Tp>
+ void
+ operator()()
+ {
+ static_assert(!(_Tp() < _Tp()), "less");
+ static_assert(_Tp() <= _Tp(), "leq");
+ static_assert(!(_Tp() > _Tp()), "more");
+ static_assert(_Tp() >= _Tp(), "meq");
+ static_assert(_Tp() == _Tp(), "eq");
+ static_assert(!(_Tp() != _Tp()), "ne");
+ }
+ };
+
+ // Generator to test standard layout
struct has_trivial_cons_dtor
{
template<typename _Tp>