X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=libstdc%2B%2B-v3%2Ftestsuite%2Futil%2Fdebug%2Fchecks.h;h=bc5c39d4c98bed7c6973e77bcfd4eb862e1d4e33;hb=7adcbafe45f8001b698967defe682687b52c0007;hp=01c5beb5cd4be1a831d4094068fdba9b9e0201c0;hpb=5720787ada5aa74f244b3bc699f4abd991bee425;p=thirdparty%2Fgcc.git diff --git a/libstdc++-v3/testsuite/util/debug/checks.h b/libstdc++-v3/testsuite/util/debug/checks.h index 01c5beb5cd4b..bc5c39d4c98b 100644 --- a/libstdc++-v3/testsuite/util/debug/checks.h +++ b/libstdc++-v3/testsuite/util/debug/checks.h @@ -1,4 +1,4 @@ -// Copyright (C) 2010-2013 Free Software Foundation, Inc. +// Copyright (C) 2010-2022 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 @@ -53,13 +53,26 @@ namespace __gnu_test } }; + template<> + struct generate_unique + { + typedef bool value_type; + + value_type build() + { + static value_type _S_; + _S_ = !_S_; + return _S_; + } + }; + template struct generate_unique > { typedef _Tp1 first_type; typedef _Tp2 second_type; typedef std::pair<_Tp1, _Tp2> pair_type; - + pair_type build() { static first_type _S_1; @@ -75,8 +88,6 @@ namespace __gnu_test void check_assign1() { - bool test __attribute__((unused)) = true; - typedef _Tp cont_type; typedef typename cont_type::value_type cont_val_type; typedef typename CopyableValueType::value_type val_type; @@ -105,8 +116,6 @@ namespace __gnu_test void check_assign2() { - bool test __attribute__((unused)) = true; - typedef _Tp cont_type; typedef typename cont_type::value_type cont_val_type; typedef typename CopyableValueType::value_type val_type; @@ -134,8 +143,6 @@ namespace __gnu_test void check_assign3() { - bool test __attribute__((unused)) = true; - typedef _Tp cont_type; typedef typename cont_type::value_type cont_val_type; typedef typename CopyableValueType::value_type val_type; @@ -163,8 +170,6 @@ namespace __gnu_test void check_construct1() { - bool test __attribute__((unused)) = true; - typedef _Tp cont_type; typedef typename cont_type::value_type cont_val_type; typedef typename CopyableValueType::value_type val_type; @@ -179,19 +184,15 @@ namespace __gnu_test val_type *first = &v.front() + 1; val_type *last = first + 2; - cont_type c1(first, last); - VERIFY(c1.size() == 2); - cont_type c2(last, first); // Expected failure - } + cont_type c(last, first); // Expected failure + } // Check that invalid range of debug random iterators is detected template void check_construct2() { - bool test __attribute__((unused)) = true; - typedef _Tp cont_type; typedef typename cont_type::value_type cont_val_type; typedef typename CopyableValueType::value_type val_type; @@ -206,10 +207,8 @@ namespace __gnu_test typename vector_type::iterator first = v.begin() + 1; typename vector_type::iterator last = first + 2; - cont_type c1(first, last); - VERIFY(c1.size() == 2); - cont_type c2(last, first); // Expected failure + cont_type c(last, first); // Expected failure } // Check that invalid range of debug not random iterators is detected @@ -217,8 +216,6 @@ namespace __gnu_test void check_construct3() { - bool test __attribute__((unused)) = true; - typedef _Tp cont_type; typedef typename cont_type::value_type cont_val_type; typedef typename CopyableValueType::value_type val_type; @@ -233,10 +230,8 @@ namespace __gnu_test typename list_type::iterator first = l.begin(); ++first; typename list_type::iterator last = first; ++last; ++last; - cont_type c1(first, last); - VERIFY(c1.size() == 2); - cont_type c2(last, first); // Expected failure + cont_type c(last, first); // Expected failure } template @@ -293,8 +288,6 @@ namespace __gnu_test void check_insert1() { - bool test __attribute__((unused)) = true; - typedef _Tp cont_type; typedef typename cont_type::value_type cont_val_type; typedef typename CopyableValueType::value_type val_type; @@ -322,8 +315,6 @@ namespace __gnu_test void check_insert2() { - bool test __attribute__((unused)) = true; - typedef _Tp cont_type; typedef typename cont_type::value_type cont_val_type; typedef typename CopyableValueType::value_type val_type; @@ -351,8 +342,6 @@ namespace __gnu_test void check_insert3() { - bool test __attribute__((unused)) = true; - typedef _Tp cont_type; typedef typename cont_type::value_type cont_val_type; typedef typename CopyableValueType::value_type val_type; @@ -380,8 +369,6 @@ namespace __gnu_test void check_insert4() { - bool test __attribute__((unused)) = true; - typedef _Tp cont_type; typedef typename cont_type::value_type cont_val_type; typedef typename CopyableValueType::value_type val_type; @@ -407,8 +394,6 @@ namespace __gnu_test template void use_invalid_iterator() { - bool test __attribute__((unused)) = true; - typedef _Tp cont_type; typedef typename cont_type::value_type cont_val_type; typedef typename CopyableValueType::value_type val_type;