summaryrefslogtreecommitdiff
path: root/libcxx/test/std
diff options
context:
space:
mode:
authorLouis Dionne <ldionne.2@gmail.com>2021-09-01 16:52:52 -0400
committerLouis Dionne <ldionne.2@gmail.com>2021-09-03 13:15:10 -0400
commitef2cdfe393d01cd4935c806387ac912b5a2c8ced (patch)
tree58f60d28736684cff1d7edba27e8bf6bd2c94244 /libcxx/test/std
parentf37e132263e427860cc89fc167419e8b8a8a17fd (diff)
[libc++][NFC] Remove uses of 'using namespace std;' in the test suite
Differential Revision: https://reviews.llvm.org/D109120
Diffstat (limited to 'libcxx/test/std')
-rw-r--r--libcxx/test/std/containers/associative/map/map.access/index_tuple.pass.cpp15
-rw-r--r--libcxx/test/std/containers/unord/unord.map/unord.map.elem/index_tuple.pass.cpp21
-rw-r--r--libcxx/test/std/input.output/filesystems/class.path/path.nonmember/swap.pass.cpp28
-rw-r--r--libcxx/test/std/numerics/complex.number/complex.literals/literals2.pass.cpp2
-rw-r--r--libcxx/test/std/re/re.const/re.matchflag/match_prev_avail.pass.cpp100
-rw-r--r--libcxx/test/std/strings/basic.string.literals/literal.pass.cpp80
-rw-r--r--libcxx/test/std/strings/basic.string.literals/literal.verify.cpp (renamed from libcxx/test/std/strings/basic.string.literals/literal1.compile.fail.cpp)14
-rw-r--r--libcxx/test/std/strings/basic.string.literals/literal1.pass.cpp24
-rw-r--r--libcxx/test/std/strings/basic.string.literals/literal2.compile.fail.cpp20
-rw-r--r--libcxx/test/std/strings/basic.string.literals/literal2.pass.cpp24
-rw-r--r--libcxx/test/std/strings/basic.string.literals/literal3.pass.cpp24
-rw-r--r--libcxx/test/std/strings/string.view/string_view.literals/literal.pass.cpp90
-rw-r--r--libcxx/test/std/strings/string.view/string_view.literals/literal.verify.cpp (renamed from libcxx/test/std/strings/string.view/string_view.literals/literal1.compile.fail.cpp)14
-rw-r--r--libcxx/test/std/strings/string.view/string_view.literals/literal1.pass.cpp27
-rw-r--r--libcxx/test/std/strings/string.view/string_view.literals/literal2.compile.fail.cpp20
-rw-r--r--libcxx/test/std/strings/string.view/string_view.literals/literal2.pass.cpp27
-rw-r--r--libcxx/test/std/strings/string.view/string_view.literals/literal3.pass.cpp27
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/function.pass.cpp2
18 files changed, 194 insertions, 365 deletions
diff --git a/libcxx/test/std/containers/associative/map/map.access/index_tuple.pass.cpp b/libcxx/test/std/containers/associative/map/map.access/index_tuple.pass.cpp
index 4a31a748f0c7..cf75e1ebb570 100644
--- a/libcxx/test/std/containers/associative/map/map.access/index_tuple.pass.cpp
+++ b/libcxx/test/std/containers/associative/map/map.access/index_tuple.pass.cpp
@@ -17,18 +17,11 @@
// https://llvm.org/PR16542
#include <map>
-
-
#include <tuple>
-#include "test_macros.h"
-
-
-int main(int, char**)
-{
- using namespace std;
- map<tuple<int,int>, size_t> m;
- m[make_tuple(2,3)]=7;
+int main(int, char**) {
+ std::map<std::tuple<int, int>, std::size_t> m;
+ m[std::make_tuple(2, 3)] = 7;
- return 0;
+ return 0;
}
diff --git a/libcxx/test/std/containers/unord/unord.map/unord.map.elem/index_tuple.pass.cpp b/libcxx/test/std/containers/unord/unord.map/unord.map.elem/index_tuple.pass.cpp
index 5b504a66fec4..78b5fbd36fe3 100644
--- a/libcxx/test/std/containers/unord/unord.map/unord.map.elem/index_tuple.pass.cpp
+++ b/libcxx/test/std/containers/unord/unord.map/unord.map.elem/index_tuple.pass.cpp
@@ -18,22 +18,17 @@
// https://llvm.org/PR16542
-#include <unordered_map>
+#include <cstddef>
#include <tuple>
+#include <unordered_map>
-#include "test_macros.h"
-
-using namespace std;
-
-struct my_hash
-{
- size_t operator()(const tuple<int,int>&) const {return 0;}
+struct my_hash {
+ std::size_t operator()(const std::tuple<int, int>&) const { return 0; }
};
-int main(int, char**)
-{
- unordered_map<tuple<int,int>, size_t, my_hash> m;
- m[make_tuple(2,3)]=7;
+int main(int, char**) {
+ std::unordered_map<std::tuple<int, int>, std::size_t, my_hash> m;
+ m[std::make_tuple(2, 3)] = 7;
- return 0;
+ return 0;
}
diff --git a/libcxx/test/std/input.output/filesystems/class.path/path.nonmember/swap.pass.cpp b/libcxx/test/std/input.output/filesystems/class.path/path.nonmember/swap.pass.cpp
index 4e175ba0cf3c..817742a56870 100644
--- a/libcxx/test/std/input.output/filesystems/class.path/path.nonmember/swap.pass.cpp
+++ b/libcxx/test/std/input.output/filesystems/class.path/path.nonmember/swap.pass.cpp
@@ -20,27 +20,41 @@
#include "count_new.h"
#include "filesystem_test_helper.h"
-
// NOTE: this is tested in path.members/path.modifiers via the member swap.
int main(int, char**)
{
using namespace fs;
const char* value1 = "foo/bar/baz";
const char* value2 = "_THIS_IS_LONG_THIS_IS_LONG_THIS_IS_LONG_THIS_IS_LONG_THIS_IS_LONG_THIS_IS_LONG_THIS_IS_LONG";
- path p1(value1);
- path p2(value2);
- fs::path::string_type ps1 = p1.native();
- fs::path::string_type ps2 = p2.native();
{
- using namespace std; using namespace fs;
+ path p1(value1);
+ path p2(value2);
+ fs::path::string_type ps1 = p1.native();
+ fs::path::string_type ps2 = p2.native();
+
+ DisableAllocationGuard g;
+ swap(p1, p2);
ASSERT_NOEXCEPT(swap(p1, p2));
ASSERT_SAME_TYPE(void, decltype(swap(p1, p2)));
+ assert(p1.native() == ps2);
+ assert(p2.native() == ps1);
+ swap(p1, p2);
+ assert(p1.native() == ps1);
+ assert(p2.native() == ps2);
}
+
+ // Test the swap two-step idiom
{
+ path p1(value1);
+ path p2(value2);
+ fs::path::string_type ps1 = p1.native();
+ fs::path::string_type ps2 = p2.native();
+
DisableAllocationGuard g;
using namespace std;
- using namespace fs;
swap(p1, p2);
+ ASSERT_NOEXCEPT(swap(p1, p2));
+ ASSERT_SAME_TYPE(void, decltype(swap(p1, p2)));
assert(p1.native() == ps2);
assert(p2.native() == ps1);
swap(p1, p2);
diff --git a/libcxx/test/std/numerics/complex.number/complex.literals/literals2.pass.cpp b/libcxx/test/std/numerics/complex.number/complex.literals/literals2.pass.cpp
index 00590ff3f04c..59a13786e8e5 100644
--- a/libcxx/test/std/numerics/complex.number/complex.literals/literals2.pass.cpp
+++ b/libcxx/test/std/numerics/complex.number/complex.literals/literals2.pass.cpp
@@ -7,7 +7,7 @@
//===----------------------------------------------------------------------===//
// UNSUPPORTED: c++03, c++11
-// <chrono>
+// <complex>
#include <complex>
#include <type_traits>
diff --git a/libcxx/test/std/re/re.const/re.matchflag/match_prev_avail.pass.cpp b/libcxx/test/std/re/re.const/re.matchflag/match_prev_avail.pass.cpp
index 00aebe0265db..508b8dd43be9 100644
--- a/libcxx/test/std/re/re.const/re.matchflag/match_prev_avail.pass.cpp
+++ b/libcxx/test/std/re/re.const/re.matchflag/match_prev_avail.pass.cpp
@@ -13,70 +13,72 @@
// match_not_bol and match_not_bow shall be ignored by the regular
// expression algorithms (30.11) and iterators (30.12)
-#include <cassert>
#include <regex>
-using namespace std;
+
+#include <cassert>
+#include <string>
int main(int, char**) {
char str1[] = "\na";
auto str1_scnd = str1 + 1;
+
// Assert that match_prev_avail disables match_not_bol and this matches
- assert(regex_match(str1 + 1, str1 + 2, regex("^a"),
- regex_constants::match_not_bol |
- regex_constants::match_prev_avail));
+ assert(std::regex_match(str1 + 1, str1 + 2, std::regex("^a"),
+ std::regex_constants::match_not_bol |
+ std::regex_constants::match_prev_avail));
// Manually passing match_prev_avail defines that --str1 is a valid position
- assert(regex_match(str1_scnd, regex("a"),
- regex_constants::match_not_bol |
- regex_constants::match_prev_avail));
+ assert(std::regex_match(str1_scnd, std::regex("a"),
+ std::regex_constants::match_not_bol |
+ std::regex_constants::match_prev_avail));
//Assert that match_prev_avail disables match_not_bow and this matches
- assert(regex_search(str1, regex("\\ba")));
- assert(regex_match(str1 + 1, str1 + 2, regex("\\ba\\b"),
- regex_constants::match_not_bow |
- regex_constants::match_prev_avail));
- assert(regex_search(str1_scnd, regex("\\ba"),
- regex_constants::match_not_bow |
- regex_constants::match_prev_avail));
+ assert(std::regex_search(str1, std::regex("\\ba")));
+ assert(std::regex_match(str1 + 1, str1 + 2, std::regex("\\ba\\b"),
+ std::regex_constants::match_not_bow |
+ std::regex_constants::match_prev_avail));
+ assert(std::regex_search(str1_scnd, std::regex("\\ba"),
+ std::regex_constants::match_not_bow |
+ std::regex_constants::match_prev_avail));
//Assert that match_prev_avail disables both match_not_bow and match_not_bol
- assert(regex_match(str1 + 1, str1 + 2, regex("^a"),
- regex_constants::match_not_bol |
- regex_constants::match_not_bow |
- regex_constants::match_prev_avail));
- assert(regex_match(str1_scnd, regex("\\ba"),
- regex_constants::match_not_bol |
- regex_constants::match_not_bow |
- regex_constants::match_prev_avail));
+ assert(std::regex_match(str1 + 1, str1 + 2, std::regex("^a"),
+ std::regex_constants::match_not_bol |
+ std::regex_constants::match_not_bow |
+ std::regex_constants::match_prev_avail));
+ assert(std::regex_match(str1_scnd, std::regex("\\ba"),
+ std::regex_constants::match_not_bol |
+ std::regex_constants::match_not_bow |
+ std::regex_constants::match_prev_avail));
// pr 42199
- string S = " cd";
- string::iterator Start = S.begin() + 1;
- string::iterator End = S.end();
- assert(regex_search(Start, End, regex("^cd")));
+ std::string S = " cd";
+ std::string::iterator Start = S.begin() + 1;
+ std::string::iterator End = S.end();
+ assert(std::regex_search(Start, End, std::regex("^cd")));
- assert(
- !regex_search(Start, End, regex("^cd"), regex_constants::match_not_bol));
- assert(!regex_search(Start, End, regex(".*\\bcd\\b"),
- regex_constants::match_not_bow));
- assert(!regex_search(Start, End, regex("^cd"),
- regex_constants::match_not_bol |
- regex_constants::match_not_bow));
- assert(!regex_search(Start, End, regex(".*\\bcd\\b"),
- regex_constants::match_not_bol |
- regex_constants::match_not_bow));
+ assert(!std::regex_search(Start, End, std::regex("^cd"),
+ std::regex_constants::match_not_bol));
+ assert(!std::regex_search(Start, End, std::regex(".*\\bcd\\b"),
+ std::regex_constants::match_not_bow));
+ assert(!std::regex_search(Start, End, std::regex("^cd"),
+ std::regex_constants::match_not_bol |
+ std::regex_constants::match_not_bow));
+ assert(!std::regex_search(Start, End, std::regex(".*\\bcd\\b"),
+ std::regex_constants::match_not_bol |
+ std::regex_constants::match_not_bow));
- assert(regex_search(Start, End, regex("^cd"),
- regex_constants::match_prev_avail));
+ assert(std::regex_search(Start, End, std::regex("^cd"),
+ std::regex_constants::match_prev_avail));
- assert(regex_search(Start, End, regex("^cd"),
- regex_constants::match_not_bol |
- regex_constants::match_prev_avail));
- assert(regex_search(Start, End, regex("^cd"),
- regex_constants::match_not_bow |
- regex_constants::match_prev_avail));
- assert(regex_match(Start, End, regex("\\bcd\\b"),
- regex_constants::match_not_bol |
- regex_constants::match_not_bow |
- regex_constants::match_prev_avail));
+ assert(std::regex_search(Start, End, std::regex("^cd"),
+ std::regex_constants::match_not_bol |
+ std::regex_constants::match_prev_avail));
+ assert(std::regex_search(Start, End, std::regex("^cd"),
+ std::regex_constants::match_not_bow |
+ std::regex_constants::match_prev_avail));
+ assert(std::regex_match(Start, End, std::regex("\\bcd\\b"),
+ std::regex_constants::match_not_bol |
+ std::regex_constants::match_not_bow |
+ std::regex_constants::match_prev_avail));
return 0;
}
diff --git a/libcxx/test/std/strings/basic.string.literals/literal.pass.cpp b/libcxx/test/std/strings/basic.string.literals/literal.pass.cpp
index 0e3e49ba1dd4..bc21ff1fd2af 100644
--- a/libcxx/test/std/strings/basic.string.literals/literal.pass.cpp
+++ b/libcxx/test/std/strings/basic.string.literals/literal.pass.cpp
@@ -20,40 +20,50 @@
typedef std::string u8string;
#endif
+int main(int, char**) {
+ {
+ using namespace std::literals::string_literals;
-int main(int, char**)
-{
- using namespace std::literals::string_literals;
-
- static_assert ( std::is_same<decltype( "Hi"s), std::string>::value, "" );
- static_assert ( std::is_same<decltype( u8"Hi"s), u8string>::value, "" );
- static_assert ( std::is_same<decltype( L"Hi"s), std::wstring>::value, "" );
- static_assert ( std::is_same<decltype( u"Hi"s), std::u16string>::value, "" );
- static_assert ( std::is_same<decltype( U"Hi"s), std::u32string>::value, "" );
-
- std::string foo;
- std::wstring Lfoo;
- u8string u8foo;
- std::u16string ufoo;
- std::u32string Ufoo;
-
- foo = ""s; assert( foo.size() == 0);
- u8foo = u8""s; assert(u8foo.size() == 0);
- Lfoo = L""s; assert( Lfoo.size() == 0);
- ufoo = u""s; assert( ufoo.size() == 0);
- Ufoo = U""s; assert( Ufoo.size() == 0);
-
- foo = " "s; assert( foo.size() == 1);
- u8foo = u8" "s; assert(u8foo.size() == 1);
- Lfoo = L" "s; assert( Lfoo.size() == 1);
- ufoo = u" "s; assert( ufoo.size() == 1);
- Ufoo = U" "s; assert( Ufoo.size() == 1);
-
- foo = "ABC"s; assert( foo == "ABC"); assert( foo == std::string ( "ABC"));
- u8foo = u8"ABC"s; assert(u8foo == u8"ABC"); assert(u8foo == u8string (u8"ABC"));
- Lfoo = L"ABC"s; assert( Lfoo == L"ABC"); assert( Lfoo == std::wstring ( L"ABC"));
- ufoo = u"ABC"s; assert( ufoo == u"ABC"); assert( ufoo == std::u16string( u"ABC"));
- Ufoo = U"ABC"s; assert( Ufoo == U"ABC"); assert( Ufoo == std::u32string( U"ABC"));
-
- return 0;
+ ASSERT_SAME_TYPE(decltype( "Hi"s), std::string);
+ ASSERT_SAME_TYPE(decltype(u8"Hi"s), u8string);
+ ASSERT_SAME_TYPE(decltype( L"Hi"s), std::wstring);
+ ASSERT_SAME_TYPE(decltype( u"Hi"s), std::u16string);
+ ASSERT_SAME_TYPE(decltype( U"Hi"s), std::u32string);
+
+ std::string foo;
+ std::wstring Lfoo;
+ u8string u8foo;
+ std::u16string ufoo;
+ std::u32string Ufoo;
+
+ foo = ""s; assert( foo.size() == 0);
+ u8foo = u8""s; assert(u8foo.size() == 0);
+ Lfoo = L""s; assert( Lfoo.size() == 0);
+ ufoo = u""s; assert( ufoo.size() == 0);
+ Ufoo = U""s; assert( Ufoo.size() == 0);
+
+ foo = " "s; assert( foo.size() == 1);
+ u8foo = u8" "s; assert(u8foo.size() == 1);
+ Lfoo = L" "s; assert( Lfoo.size() == 1);
+ ufoo = u" "s; assert( ufoo.size() == 1);
+ Ufoo = U" "s; assert( Ufoo.size() == 1);
+
+ foo = "ABC"s; assert( foo == "ABC"); assert( foo == std::string ( "ABC"));
+ u8foo = u8"ABC"s; assert(u8foo == u8"ABC"); assert(u8foo == u8string (u8"ABC"));
+ Lfoo = L"ABC"s; assert( Lfoo == L"ABC"); assert( Lfoo == std::wstring ( L"ABC"));
+ ufoo = u"ABC"s; assert( ufoo == u"ABC"); assert( ufoo == std::u16string( u"ABC"));
+ Ufoo = U"ABC"s; assert( Ufoo == U"ABC"); assert( Ufoo == std::u32string( U"ABC"));
+ }
+ {
+ using namespace std::literals;
+ std::string foo = ""s;
+ assert(foo == std::string());
+ }
+ {
+ using namespace std;
+ std::string foo = ""s;
+ assert(foo == std::string());
+ }
+
+ return 0;
}
diff --git a/libcxx/test/std/strings/basic.string.literals/literal1.compile.fail.cpp b/libcxx/test/std/strings/basic.string.literals/literal.verify.cpp
index e51164142866..64dd7d09c049 100644
--- a/libcxx/test/std/strings/basic.string.literals/literal1.compile.fail.cpp
+++ b/libcxx/test/std/strings/basic.string.literals/literal.verify.cpp
@@ -10,13 +10,13 @@
// UNSUPPORTED: c++03, c++11
#include <string>
-#include <cassert>
-int main(int, char**)
-{
+void f() {
+ {
using std::string;
-
- string foo = ""s; // should fail w/conversion operator not found
-
- return 0;
+ string foo = ""s; // expected-error {{no matching literal operator}}
+ }
+ {
+ std::string foo = ""s; // expected-error {{no matching literal operator}}
+ }
}
diff --git a/libcxx/test/std/strings/basic.string.literals/literal1.pass.cpp b/libcxx/test/std/strings/basic.string.literals/literal1.pass.cpp
deleted file mode 100644
index 37e8d9d8ff50..000000000000
--- a/libcxx/test/std/strings/basic.string.literals/literal1.pass.cpp
+++ /dev/null
@@ -1,24 +0,0 @@
-// -*- C++ -*-
-//===----------------------------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: c++03, c++11
-
-#include <string>
-#include <cassert>
-
-#include "test_macros.h"
-
-int main(int, char**)
-{
- using namespace std::literals;
-
- std::string foo = ""s;
-
- return 0;
-}
diff --git a/libcxx/test/std/strings/basic.string.literals/literal2.compile.fail.cpp b/libcxx/test/std/strings/basic.string.literals/literal2.compile.fail.cpp
deleted file mode 100644
index 3ab9696115d8..000000000000
--- a/libcxx/test/std/strings/basic.string.literals/literal2.compile.fail.cpp
+++ /dev/null
@@ -1,20 +0,0 @@
-// -*- C++ -*-
-//===----------------------------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: c++03, c++11
-
-#include <string>
-#include <cassert>
-
-int main(int, char**)
-{
- std::string foo = ""s; // should fail w/conversion operator not found
-
- return 0;
-}
diff --git a/libcxx/test/std/strings/basic.string.literals/literal2.pass.cpp b/libcxx/test/std/strings/basic.string.literals/literal2.pass.cpp
deleted file mode 100644
index 6309d71fe55b..000000000000
--- a/libcxx/test/std/strings/basic.string.literals/literal2.pass.cpp
+++ /dev/null
@@ -1,24 +0,0 @@
-// -*- C++ -*-
-//===----------------------------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: c++03, c++11
-
-#include <string>
-#include <cassert>
-
-#include "test_macros.h"
-
-int main(int, char**)
-{
- using namespace std::literals::string_literals;
-
- std::string foo = ""s;
-
- return 0;
-}
diff --git a/libcxx/test/std/strings/basic.string.literals/literal3.pass.cpp b/libcxx/test/std/strings/basic.string.literals/literal3.pass.cpp
deleted file mode 100644
index 614e76afe249..000000000000
--- a/libcxx/test/std/strings/basic.string.literals/literal3.pass.cpp
+++ /dev/null
@@ -1,24 +0,0 @@
-// -*- C++ -*-
-//===----------------------------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: c++03, c++11
-
-#include <string>
-#include <cassert>
-
-#include "test_macros.h"
-
-int main(int, char**)
-{
- using namespace std;
-
- string foo = ""s;
-
- return 0;
-}
diff --git a/libcxx/test/std/strings/string.view/string_view.literals/literal.pass.cpp b/libcxx/test/std/strings/string.view/string_view.literals/literal.pass.cpp
index 114cf9a600f9..5e0beb481286 100644
--- a/libcxx/test/std/strings/string.view/string_view.literals/literal.pass.cpp
+++ b/libcxx/test/std/strings/string.view/string_view.literals/literal.pass.cpp
@@ -22,52 +22,62 @@
typedef std::string_view u8string_view;
#endif
-int main(int, char**)
-{
- using namespace std::literals::string_view_literals;
+int main(int, char**) {
+ {
+ using namespace std::literals::string_view_literals;
- static_assert ( std::is_same<decltype( "Hi"sv), std::string_view>::value, "" );
- static_assert ( std::is_same<decltype( u8"Hi"sv), u8string_view>::value, "" );
- static_assert ( std::is_same<decltype( L"Hi"sv), std::wstring_view>::value, "" );
- static_assert ( std::is_same<decltype( u"Hi"sv), std::u16string_view>::value, "" );
- static_assert ( std::is_same<decltype( U"Hi"sv), std::u32string_view>::value, "" );
+ ASSERT_SAME_TYPE(decltype( "Hi"sv), std::string_view);
+ ASSERT_SAME_TYPE(decltype(u8"Hi"sv), u8string_view);
+ ASSERT_SAME_TYPE(decltype( L"Hi"sv), std::wstring_view);
+ ASSERT_SAME_TYPE(decltype( u"Hi"sv), std::u16string_view);
+ ASSERT_SAME_TYPE(decltype( U"Hi"sv), std::u32string_view);
- std::string_view foo;
- std::wstring_view Lfoo;
- u8string_view u8foo;
- std::u16string_view ufoo;
- std::u32string_view Ufoo;
+ std::string_view foo;
+ std::wstring_view Lfoo;
+ u8string_view u8foo;
+ std::u16string_view ufoo;
+ std::u32string_view Ufoo;
+ foo = ""sv; assert( foo.size() == 0);
+ u8foo = u8""sv; assert(u8foo.size() == 0);
+ Lfoo = L""sv; assert( Lfoo.size() == 0);
+ ufoo = u""sv; assert( ufoo.size() == 0);
+ Ufoo = U""sv; assert( Ufoo.size() == 0);
- foo = ""sv; assert( foo.size() == 0);
- u8foo = u8""sv; assert(u8foo.size() == 0);
- Lfoo = L""sv; assert( Lfoo.size() == 0);
- ufoo = u""sv; assert( ufoo.size() == 0);
- Ufoo = U""sv; assert( Ufoo.size() == 0);
+ foo = " "sv; assert( foo.size() == 1);
+ u8foo = u8" "sv; assert(u8foo.size() == 1);
+ Lfoo = L" "sv; assert( Lfoo.size() == 1);
+ ufoo = u" "sv; assert( ufoo.size() == 1);
+ Ufoo = U" "sv; assert( Ufoo.size() == 1);
- foo = " "sv; assert( foo.size() == 1);
- u8foo = u8" "sv; assert(u8foo.size() == 1);
- Lfoo = L" "sv; assert( Lfoo.size() == 1);
- ufoo = u" "sv; assert( ufoo.size() == 1);
- Ufoo = U" "sv; assert( Ufoo.size() == 1);
+ foo = "ABC"sv; assert( foo == "ABC"); assert( foo == std::string_view ( "ABC"));
+ u8foo = u8"ABC"sv; assert(u8foo == u8"ABC"); assert(u8foo == u8string_view (u8"ABC"));
+ Lfoo = L"ABC"sv; assert( Lfoo == L"ABC"); assert( Lfoo == std::wstring_view ( L"ABC"));
+ ufoo = u"ABC"sv; assert( ufoo == u"ABC"); assert( ufoo == std::u16string_view( u"ABC"));
+ Ufoo = U"ABC"sv; assert( Ufoo == U"ABC"); assert( Ufoo == std::u32string_view( U"ABC"));
- foo = "ABC"sv; assert( foo == "ABC"); assert( foo == std::string_view ( "ABC"));
- u8foo = u8"ABC"sv; assert(u8foo == u8"ABC"); assert(u8foo == u8string_view (u8"ABC"));
- Lfoo = L"ABC"sv; assert( Lfoo == L"ABC"); assert( Lfoo == std::wstring_view ( L"ABC"));
- ufoo = u"ABC"sv; assert( ufoo == u"ABC"); assert( ufoo == std::u16string_view( u"ABC"));
- Ufoo = U"ABC"sv; assert( Ufoo == U"ABC"); assert( Ufoo == std::u32string_view( U"ABC"));
+ static_assert( "ABC"sv.size() == 3, "");
+ static_assert(u8"ABC"sv.size() == 3, "");
+ static_assert( L"ABC"sv.size() == 3, "");
+ static_assert( u"ABC"sv.size() == 3, "");
+ static_assert( U"ABC"sv.size() == 3, "");
- static_assert( "ABC"sv.size() == 3, "");
- static_assert(u8"ABC"sv.size() == 3, "");
- static_assert( L"ABC"sv.size() == 3, "");
- static_assert( u"ABC"sv.size() == 3, "");
- static_assert( U"ABC"sv.size() == 3, "");
+ ASSERT_NOEXCEPT( "ABC"sv);
+ ASSERT_NOEXCEPT(u8"ABC"sv);
+ ASSERT_NOEXCEPT( L"ABC"sv);
+ ASSERT_NOEXCEPT( u"ABC"sv);
+ ASSERT_NOEXCEPT( U"ABC"sv);
+ }
+ {
+ using namespace std::literals;
+ std::string_view foo = ""sv;
+ assert(foo.length() == 0);
+ }
+ {
+ using namespace std;
+ std::string_view foo = ""sv;
+ assert(foo.length() == 0);
+ }
- static_assert(noexcept( "ABC"sv), "");
- static_assert(noexcept(u8"ABC"sv), "");
- static_assert(noexcept( L"ABC"sv), "");
- static_assert(noexcept( u"ABC"sv), "");
- static_assert(noexcept( U"ABC"sv), "");
-
- return 0;
+ return 0;
}
diff --git a/libcxx/test/std/strings/string.view/string_view.literals/literal1.compile.fail.cpp b/libcxx/test/std/strings/string.view/string_view.literals/literal.verify.cpp
index 9e8d7c9434de..b286ed5b5bef 100644
--- a/libcxx/test/std/strings/string.view/string_view.literals/literal1.compile.fail.cpp
+++ b/libcxx/test/std/strings/string.view/string_view.literals/literal.verify.cpp
@@ -10,13 +10,13 @@
// UNSUPPORTED: c++03, c++11
#include <string_view>
-#include <cassert>
-int main(int, char**)
-{
+void f() {
+ {
using std::string_view;
-
- string_view foo = ""sv; // should fail w/conversion operator not found
-
- return 0;
+ string_view foo = ""sv; // expected-error {{no matching literal operator}}
+ }
+ {
+ std::string_view foo = ""sv; // expected-error {{no matching literal operator}}
+ }
}
diff --git a/libcxx/test/std/strings/string.view/string_view.literals/literal1.pass.cpp b/libcxx/test/std/strings/string.view/string_view.literals/literal1.pass.cpp
deleted file mode 100644
index 6aa059c8da14..000000000000
--- a/libcxx/test/std/strings/string.view/string_view.literals/literal1.pass.cpp
+++ /dev/null
@@ -1,27 +0,0 @@
-// -*- C++ -*-
-//===----------------------------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: c++03, c++11
-
-// Note: libc++ supports string_view before C++17, but literals were introduced in C++14
-
-#include <string_view>
-#include <cassert>
-
-#include "test_macros.h"
-
-int main(int, char**)
-{
- using namespace std::literals;
-
- std::string_view foo = ""sv;
- assert(foo.length() == 0);
-
- return 0;
-}
diff --git a/libcxx/test/std/strings/string.view/string_view.literals/literal2.compile.fail.cpp b/libcxx/test/std/strings/string.view/string_view.literals/literal2.compile.fail.cpp
deleted file mode 100644
index 821ffc43f7bf..000000000000
--- a/libcxx/test/std/strings/string.view/string_view.literals/literal2.compile.fail.cpp
+++ /dev/null
@@ -1,20 +0,0 @@
-// -*- C++ -*-
-//===----------------------------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: c++03, c++11
-
-#include <string_view>
-#include <cassert>
-
-int main(int, char**)
-{
- std::string_view foo = ""sv; // should fail w/conversion operator not found
-
- return 0;
-}
diff --git a/libcxx/test/std/strings/string.view/string_view.literals/literal2.pass.cpp b/libcxx/test/std/strings/string.view/string_view.literals/literal2.pass.cpp
deleted file mode 100644
index 0da751e72c35..000000000000
--- a/libcxx/test/std/strings/string.view/string_view.literals/literal2.pass.cpp
+++ /dev/null
@@ -1,27 +0,0 @@
-// -*- C++ -*-
-//===----------------------------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: c++03, c++11
-
-// Note: libc++ supports string_view before C++17, but literals were introduced in C++14
-
-#include <string_view>
-#include <cassert>
-
-#include "test_macros.h"
-
-int main(int, char**)
-{
- using namespace std::literals::string_view_literals;
-
- std::string_view foo = ""sv;
- assert(foo.length() == 0);
-
- return 0;
-}
diff --git a/libcxx/test/std/strings/string.view/string_view.literals/literal3.pass.cpp b/libcxx/test/std/strings/string.view/string_view.literals/literal3.pass.cpp
deleted file mode 100644
index d715ffe58161..000000000000
--- a/libcxx/test/std/strings/string.view/string_view.literals/literal3.pass.cpp
+++ /dev/null
@@ -1,27 +0,0 @@
-// -*- C++ -*-
-//===----------------------------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-// UNSUPPORTED: c++03, c++11
-
-// Note: libc++ supports string_view before C++17, but literals were introduced in C++14
-
-#include <string_view>
-#include <cassert>
-
-#include "test_macros.h"
-
-int main(int, char**)
-{
- using namespace std;
-
- string_view foo = ""sv;
- assert(foo.length() == 0);
-
- return 0;
-}
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/function.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/function.pass.cpp
index d7453be469cc..1fc79cf7c3f5 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/function.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/function.pass.cpp
@@ -13,8 +13,6 @@
#include <type_traits>
#include "test_macros.h"
-using namespace std;
-
class Class {};
enum Enum1 {};