summaryrefslogtreecommitdiffstats
path: root/libcxx/test/std/algorithms/alg.nonmodifying
diff options
context:
space:
mode:
authorJF Bastien <jfbastien@apple.com>2019-02-04 20:31:13 +0000
committerJF Bastien <jfbastien@apple.com>2019-02-04 20:31:13 +0000
commit2df59c50688c122bbcae7467d3eaf862c3ea3088 (patch)
tree29c9a3e1c54fe76a506ffecc0cc4d8fbaba5cb04 /libcxx/test/std/algorithms/alg.nonmodifying
parent6fd4e7fe0258ff71fe759535236883ea9060587c (diff)
downloadbcm5719-llvm-2df59c50688c122bbcae7467d3eaf862c3ea3088.tar.gz
bcm5719-llvm-2df59c50688c122bbcae7467d3eaf862c3ea3088.zip
Support tests in freestanding
Summary: Freestanding is *weird*. The standard allows it to differ in a bunch of odd manners from regular C++, and the committee would like to improve that situation. I'd like to make libc++ behave better with what freestanding should be, so that it can be a tool we use in improving the standard. To do that we need to try stuff out, both with "freestanding the language mode" and "freestanding the library subset". Let's start with the super basic: run the libc++ tests in freestanding, using clang as the compiler, and see what works. The easiest hack to do this: In utils/libcxx/test/config.py add: self.cxx.compile_flags += ['-ffreestanding'] Run the tests and they all fail. Why? Because in freestanding `main` isn't special. This "not special" property has two effects: main doesn't get mangled, and main isn't allowed to omit its `return` statement. The first means main gets mangled and the linker can't create a valid executable for us to test. The second means we spew out warnings (ew) and the compiler doesn't insert the `return` we omitted, and main just falls of the end and does whatever undefined behavior (if you're luck, ud2 leading to non-zero return code). Let's start my work with the basics. This patch changes all libc++ tests to declare `main` as `int main(int, char**` so it mangles consistently (enabling us to declare another `extern "C"` main for freestanding which calls the mangled one), and adds `return 0;` to all places where it was missing. This touches 6124 files, and I apologize. The former was done with The Magic Of Sed. The later was done with a (not quite correct but decent) clang tool: https://gist.github.com/jfbastien/793819ff360baa845483dde81170feed This works for most tests, though I did have to adjust a few places when e.g. the test runs with `-x c`, macros are used for main (such as for the filesystem tests), etc. Once this is in we can create a freestanding bot which will prevent further regressions. After that, we can start the real work of supporting C++ freestanding fairly well in libc++. <rdar://problem/47754795> Reviewers: ldionne, mclow.lists, EricWF Subscribers: christof, jkorous, dexonsmith, arphaman, miyuki, libcxx-commits Differential Revision: https://reviews.llvm.org/D57624 llvm-svn: 353086
Diffstat (limited to 'libcxx/test/std/algorithms/alg.nonmodifying')
-rw-r--r--libcxx/test/std/algorithms/alg.nonmodifying/alg.adjacent.find/adjacent_find.pass.cpp4
-rw-r--r--libcxx/test/std/algorithms/alg.nonmodifying/alg.adjacent.find/adjacent_find_pred.pass.cpp4
-rw-r--r--libcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/all_of.pass.cpp4
-rw-r--r--libcxx/test/std/algorithms/alg.nonmodifying/alg.any_of/any_of.pass.cpp4
-rw-r--r--libcxx/test/std/algorithms/alg.nonmodifying/alg.count/count.pass.cpp4
-rw-r--r--libcxx/test/std/algorithms/alg.nonmodifying/alg.count/count_if.pass.cpp4
-rw-r--r--libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/equal.pass.cpp4
-rw-r--r--libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/equal_pred.pass.cpp4
-rw-r--r--libcxx/test/std/algorithms/alg.nonmodifying/alg.find.end/find_end.pass.cpp4
-rw-r--r--libcxx/test/std/algorithms/alg.nonmodifying/alg.find.end/find_end_pred.pass.cpp4
-rw-r--r--libcxx/test/std/algorithms/alg.nonmodifying/alg.find.first.of/find_first_of.pass.cpp4
-rw-r--r--libcxx/test/std/algorithms/alg.nonmodifying/alg.find.first.of/find_first_of_pred.pass.cpp4
-rw-r--r--libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find.pass.cpp4
-rw-r--r--libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find_if.pass.cpp4
-rw-r--r--libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find_if_not.pass.cpp4
-rw-r--r--libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/for_each_n.pass.cpp4
-rw-r--r--libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/test.pass.cpp4
-rw-r--r--libcxx/test/std/algorithms/alg.nonmodifying/alg.is_permutation/is_permutation.pass.cpp4
-rw-r--r--libcxx/test/std/algorithms/alg.nonmodifying/alg.is_permutation/is_permutation_pred.pass.cpp4
-rw-r--r--libcxx/test/std/algorithms/alg.nonmodifying/alg.none_of/none_of.pass.cpp4
-rw-r--r--libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search.pass.cpp4
-rw-r--r--libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search_n.pass.cpp4
-rw-r--r--libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search_n_pred.pass.cpp4
-rw-r--r--libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search_pred.pass.cpp4
-rw-r--r--libcxx/test/std/algorithms/alg.nonmodifying/mismatch/mismatch.pass.cpp4
-rw-r--r--libcxx/test/std/algorithms/alg.nonmodifying/mismatch/mismatch_pred.pass.cpp4
-rw-r--r--libcxx/test/std/algorithms/alg.nonmodifying/nothing_to_do.pass.cpp4
27 files changed, 81 insertions, 27 deletions
diff --git a/libcxx/test/std/algorithms/alg.nonmodifying/alg.adjacent.find/adjacent_find.pass.cpp b/libcxx/test/std/algorithms/alg.nonmodifying/alg.adjacent.find/adjacent_find.pass.cpp
index de03da4ba1d..6d57c5869ab 100644
--- a/libcxx/test/std/algorithms/alg.nonmodifying/alg.adjacent.find/adjacent_find.pass.cpp
+++ b/libcxx/test/std/algorithms/alg.nonmodifying/alg.adjacent.find/adjacent_find.pass.cpp
@@ -30,7 +30,7 @@ TEST_CONSTEXPR bool test_constexpr() {
}
#endif
-int main()
+int main(int, char**)
{
int ia[] = {0, 1, 2, 2, 0, 1, 2, 3};
const unsigned sa = sizeof(ia)/sizeof(ia[0]);
@@ -47,4 +47,6 @@ int main()
#if TEST_STD_VER > 17
static_assert(test_constexpr());
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/algorithms/alg.nonmodifying/alg.adjacent.find/adjacent_find_pred.pass.cpp b/libcxx/test/std/algorithms/alg.nonmodifying/alg.adjacent.find/adjacent_find_pred.pass.cpp
index a542cb81f17..c80bc9fff83 100644
--- a/libcxx/test/std/algorithms/alg.nonmodifying/alg.adjacent.find/adjacent_find_pred.pass.cpp
+++ b/libcxx/test/std/algorithms/alg.nonmodifying/alg.adjacent.find/adjacent_find_pred.pass.cpp
@@ -34,7 +34,7 @@ TEST_CONSTEXPR bool test_constexpr() {
}
#endif
-int main()
+int main(int, char**)
{
int ia[] = {0, 1, 2, 2, 0, 1, 2, 3};
const unsigned sa = sizeof(ia)/sizeof(ia[0]);
@@ -54,4 +54,6 @@ int main()
#if TEST_STD_VER > 17
static_assert(test_constexpr());
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/all_of.pass.cpp b/libcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/all_of.pass.cpp
index 61f6c2ceede..5c49878f6a4 100644
--- a/libcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/all_of.pass.cpp
+++ b/libcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/all_of.pass.cpp
@@ -36,7 +36,7 @@ TEST_CONSTEXPR bool test_constexpr() {
}
#endif
-int main()
+int main(int, char**)
{
{
int ia[] = {2, 4, 6, 8};
@@ -58,4 +58,6 @@ int main()
#if TEST_STD_VER > 17
static_assert(test_constexpr());
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/algorithms/alg.nonmodifying/alg.any_of/any_of.pass.cpp b/libcxx/test/std/algorithms/alg.nonmodifying/alg.any_of/any_of.pass.cpp
index ea9f8a4c8d1..22ae581d64b 100644
--- a/libcxx/test/std/algorithms/alg.nonmodifying/alg.any_of/any_of.pass.cpp
+++ b/libcxx/test/std/algorithms/alg.nonmodifying/alg.any_of/any_of.pass.cpp
@@ -36,7 +36,7 @@ TEST_CONSTEXPR bool test_constexpr() {
}
#endif
-int main()
+int main(int, char**)
{
{
int ia[] = {2, 4, 6, 8};
@@ -66,4 +66,6 @@ int main()
#if TEST_STD_VER > 17
static_assert(test_constexpr());
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/algorithms/alg.nonmodifying/alg.count/count.pass.cpp b/libcxx/test/std/algorithms/alg.nonmodifying/alg.count/count.pass.cpp
index f2e93719e5a..d864080df8d 100644
--- a/libcxx/test/std/algorithms/alg.nonmodifying/alg.count/count.pass.cpp
+++ b/libcxx/test/std/algorithms/alg.nonmodifying/alg.count/count.pass.cpp
@@ -29,7 +29,7 @@ TEST_CONSTEXPR bool test_constexpr() {
}
#endif
-int main()
+int main(int, char**)
{
int ia[] = {0, 1, 2, 2, 0, 1, 2, 3};
const unsigned sa = sizeof(ia)/sizeof(ia[0]);
@@ -43,4 +43,6 @@ int main()
#if TEST_STD_VER > 17
static_assert(test_constexpr());
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/algorithms/alg.nonmodifying/alg.count/count_if.pass.cpp b/libcxx/test/std/algorithms/alg.nonmodifying/alg.count/count_if.pass.cpp
index 7f6be6a278f..978f5fcdbe5 100644
--- a/libcxx/test/std/algorithms/alg.nonmodifying/alg.count/count_if.pass.cpp
+++ b/libcxx/test/std/algorithms/alg.nonmodifying/alg.count/count_if.pass.cpp
@@ -36,7 +36,7 @@ TEST_CONSTEXPR bool test_constexpr() {
}
#endif
-int main()
+int main(int, char**)
{
int ia[] = {0, 1, 2, 2, 0, 1, 2, 3};
const unsigned sa = sizeof(ia)/sizeof(ia[0]);
@@ -53,4 +53,6 @@ int main()
#if TEST_STD_VER > 17
static_assert(test_constexpr());
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/equal.pass.cpp b/libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/equal.pass.cpp
index 81d46ce62f1..afd57491a40 100644
--- a/libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/equal.pass.cpp
+++ b/libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/equal.pass.cpp
@@ -44,7 +44,7 @@ TEST_CONSTEXPR bool test_constexpr() {
#endif
-int main()
+int main(int, char**)
{
int ia[] = {0, 1, 2, 3, 4, 5};
const unsigned s = sizeof(ia)/sizeof(ia[0]);
@@ -88,4 +88,6 @@ int main()
#if TEST_STD_VER > 17
static_assert(test_constexpr());
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/equal_pred.pass.cpp b/libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/equal_pred.pass.cpp
index 03de33a6b3f..2b9619b73ee 100644
--- a/libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/equal_pred.pass.cpp
+++ b/libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/equal_pred.pass.cpp
@@ -58,7 +58,7 @@ bool counting_equals ( const T &a, const T &b ) {
return a == b;
}
-int main()
+int main(int, char**)
{
int ia[] = {0, 1, 2, 3, 4, 5};
const unsigned s = sizeof(ia)/sizeof(ia[0]);
@@ -114,4 +114,6 @@ int main()
#if TEST_STD_VER > 17
static_assert(test_constexpr());
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/algorithms/alg.nonmodifying/alg.find.end/find_end.pass.cpp b/libcxx/test/std/algorithms/alg.nonmodifying/alg.find.end/find_end.pass.cpp
index 36633ee12f4..3060528a8e8 100644
--- a/libcxx/test/std/algorithms/alg.nonmodifying/alg.find.end/find_end.pass.cpp
+++ b/libcxx/test/std/algorithms/alg.nonmodifying/alg.find.end/find_end.pass.cpp
@@ -62,7 +62,7 @@ test()
assert(std::find_end(Iter1(ia), Iter1(ia), Iter2(b), Iter2(b+1)) == Iter1(ia));
}
-int main()
+int main(int, char**)
{
test<forward_iterator<const int*>, forward_iterator<const int*> >();
test<forward_iterator<const int*>, bidirectional_iterator<const int*> >();
@@ -77,4 +77,6 @@ int main()
#if TEST_STD_VER > 17
static_assert(test_constexpr());
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/algorithms/alg.nonmodifying/alg.find.end/find_end_pred.pass.cpp b/libcxx/test/std/algorithms/alg.nonmodifying/alg.find.end/find_end_pred.pass.cpp
index 2b3ca1b0404..7358cf5f701 100644
--- a/libcxx/test/std/algorithms/alg.nonmodifying/alg.find.end/find_end_pred.pass.cpp
+++ b/libcxx/test/std/algorithms/alg.nonmodifying/alg.find.end/find_end_pred.pass.cpp
@@ -92,7 +92,7 @@ test()
assert(count_equal::count <= 0);
}
-int main()
+int main(int, char**)
{
test<forward_iterator<const int*>, forward_iterator<const int*> >();
test<forward_iterator<const int*>, bidirectional_iterator<const int*> >();
@@ -107,4 +107,6 @@ int main()
#if TEST_STD_VER > 17
static_assert(test_constexpr());
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/algorithms/alg.nonmodifying/alg.find.first.of/find_first_of.pass.cpp b/libcxx/test/std/algorithms/alg.nonmodifying/alg.find.first.of/find_first_of.pass.cpp
index 1df8c1b8270..04468f74103 100644
--- a/libcxx/test/std/algorithms/alg.nonmodifying/alg.find.first.of/find_first_of.pass.cpp
+++ b/libcxx/test/std/algorithms/alg.nonmodifying/alg.find.first.of/find_first_of.pass.cpp
@@ -38,7 +38,7 @@ TEST_CONSTEXPR bool test_constexpr() {
}
#endif
-int main()
+int main(int, char**)
{
int ia[] = {0, 1, 2, 3, 0, 1, 2, 3};
const unsigned sa = sizeof(ia)/sizeof(ia[0]);
@@ -69,4 +69,6 @@ int main()
#if TEST_STD_VER > 17
static_assert(test_constexpr());
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/algorithms/alg.nonmodifying/alg.find.first.of/find_first_of_pred.pass.cpp b/libcxx/test/std/algorithms/alg.nonmodifying/alg.find.first.of/find_first_of_pred.pass.cpp
index cb64ee80acb..3c32aee0e24 100644
--- a/libcxx/test/std/algorithms/alg.nonmodifying/alg.find.first.of/find_first_of_pred.pass.cpp
+++ b/libcxx/test/std/algorithms/alg.nonmodifying/alg.find.first.of/find_first_of_pred.pass.cpp
@@ -40,7 +40,7 @@ constexpr bool test_constexpr() {
}
#endif
-int main()
+int main(int, char**)
{
int ia[] = {0, 1, 2, 3, 0, 1, 2, 3};
const unsigned sa = sizeof(ia)/sizeof(ia[0]);
@@ -75,4 +75,6 @@ int main()
#if TEST_STD_VER > 17
static_assert(test_constexpr());
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find.pass.cpp b/libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find.pass.cpp
index de7a4181c2d..9dc265f1854 100644
--- a/libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find.pass.cpp
+++ b/libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find.pass.cpp
@@ -29,7 +29,7 @@ TEST_CONSTEXPR bool test_constexpr() {
}
#endif
-int main()
+int main(int, char**)
{
int ia[] = {0, 1, 2, 3, 4, 5};
const unsigned s = sizeof(ia)/sizeof(ia[0]);
@@ -42,4 +42,6 @@ int main()
#if TEST_STD_VER > 17
static_assert(test_constexpr());
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find_if.pass.cpp b/libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find_if.pass.cpp
index 7b0ae435a88..6151a55b8f6 100644
--- a/libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find_if.pass.cpp
+++ b/libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find_if.pass.cpp
@@ -37,7 +37,7 @@ TEST_CONSTEXPR bool test_constexpr() {
}
#endif
-int main()
+int main(int, char**)
{
int ia[] = {0, 1, 2, 3, 4, 5};
const unsigned s = sizeof(ia)/sizeof(ia[0]);
@@ -53,4 +53,6 @@ int main()
#if TEST_STD_VER > 17
static_assert(test_constexpr());
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find_if_not.pass.cpp b/libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find_if_not.pass.cpp
index 90e952171d4..36a75426999 100644
--- a/libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find_if_not.pass.cpp
+++ b/libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find_if_not.pass.cpp
@@ -37,7 +37,7 @@ TEST_CONSTEXPR bool test_constexpr() {
}
#endif
-int main()
+int main(int, char**)
{
int ia[] = {0, 1, 2, 3, 4, 5};
const unsigned s = sizeof(ia)/sizeof(ia[0]);
@@ -53,4 +53,6 @@ int main()
#if TEST_STD_VER > 17
static_assert(test_constexpr());
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/for_each_n.pass.cpp b/libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/for_each_n.pass.cpp
index b43acc13a57..f4dcd2d577a 100644
--- a/libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/for_each_n.pass.cpp
+++ b/libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/for_each_n.pass.cpp
@@ -40,7 +40,7 @@ struct for_each_test
void operator()(int& i) {++i; ++count;}
};
-int main()
+int main(int, char**)
{
typedef input_iterator<int*> Iter;
int ia[] = {0, 1, 2, 3, 4, 5};
@@ -76,4 +76,6 @@ int main()
#if TEST_STD_VER > 17
static_assert(test_constexpr());
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/test.pass.cpp b/libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/test.pass.cpp
index 66336b2f9fa..4d129e75578 100644
--- a/libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/test.pass.cpp
+++ b/libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/test.pass.cpp
@@ -37,7 +37,7 @@ struct for_each_test
void operator()(int& i) {++i; ++count;}
};
-int main()
+int main(int, char**)
{
int ia[] = {0, 1, 2, 3, 4, 5};
const unsigned s = sizeof(ia)/sizeof(ia[0]);
@@ -51,4 +51,6 @@ int main()
#if TEST_STD_VER > 17
static_assert(test_constexpr());
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/algorithms/alg.nonmodifying/alg.is_permutation/is_permutation.pass.cpp b/libcxx/test/std/algorithms/alg.nonmodifying/alg.is_permutation/is_permutation.pass.cpp
index 3173276d190..2a2c796caac 100644
--- a/libcxx/test/std/algorithms/alg.nonmodifying/alg.is_permutation/is_permutation.pass.cpp
+++ b/libcxx/test/std/algorithms/alg.nonmodifying/alg.is_permutation/is_permutation.pass.cpp
@@ -35,7 +35,7 @@ TEST_CONSTEXPR bool test_constexpr() {
}
#endif
-int main()
+int main(int, char**)
{
{
const int ia[] = {0};
@@ -618,4 +618,6 @@ int main()
#if TEST_STD_VER > 17
static_assert(test_constexpr());
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/algorithms/alg.nonmodifying/alg.is_permutation/is_permutation_pred.pass.cpp b/libcxx/test/std/algorithms/alg.nonmodifying/alg.is_permutation/is_permutation_pred.pass.cpp
index 914eccdcd02..ea4270ec409 100644
--- a/libcxx/test/std/algorithms/alg.nonmodifying/alg.is_permutation/is_permutation_pred.pass.cpp
+++ b/libcxx/test/std/algorithms/alg.nonmodifying/alg.is_permutation/is_permutation_pred.pass.cpp
@@ -55,7 +55,7 @@ struct eq {
};
-int main()
+int main(int, char**)
{
{
const int ia[] = {0};
@@ -769,4 +769,6 @@ int main()
#if TEST_STD_VER > 17
static_assert(test_constexpr());
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/algorithms/alg.nonmodifying/alg.none_of/none_of.pass.cpp b/libcxx/test/std/algorithms/alg.nonmodifying/alg.none_of/none_of.pass.cpp
index c77ffb220b5..f3a4fea9022 100644
--- a/libcxx/test/std/algorithms/alg.nonmodifying/alg.none_of/none_of.pass.cpp
+++ b/libcxx/test/std/algorithms/alg.nonmodifying/alg.none_of/none_of.pass.cpp
@@ -36,7 +36,7 @@ TEST_CONSTEXPR bool test_constexpr() {
}
#endif
-int main()
+int main(int, char**)
{
{
int ia[] = {2, 4, 6, 8};
@@ -66,4 +66,6 @@ int main()
#if TEST_STD_VER > 17
static_assert(test_constexpr());
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search.pass.cpp b/libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search.pass.cpp
index a3fedafdc85..5aaa832ded0 100644
--- a/libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search.pass.cpp
+++ b/libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search.pass.cpp
@@ -95,7 +95,7 @@ test()
assert(std::search(Iter1(ij), Iter1(ij+sj), Iter2(ik), Iter2(ik+sk)) == Iter1(ij+6));
}
-int main()
+int main(int, char**)
{
test<forward_iterator<const int*>, forward_iterator<const int*> >();
test<forward_iterator<const int*>, bidirectional_iterator<const int*> >();
@@ -121,4 +121,6 @@ int main()
#if TEST_STD_VER > 17
static_assert(test_constexpr());
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search_n.pass.cpp b/libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search_n.pass.cpp
index 50d710e6735..3c86127f38b 100644
--- a/libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search_n.pass.cpp
+++ b/libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search_n.pass.cpp
@@ -79,7 +79,7 @@ test()
(void)std::search_n(Iter(ic), Iter(ic+sc), UserDefinedIntegral<unsigned>(0), 0);
}
-int main()
+int main(int, char**)
{
test<forward_iterator<const int*> >();
test<bidirectional_iterator<const int*> >();
@@ -88,4 +88,6 @@ int main()
#if TEST_STD_VER > 17
static_assert(test_constexpr());
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search_n_pred.pass.cpp b/libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search_n_pred.pass.cpp
index befa432bf28..13568939099 100644
--- a/libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search_n_pred.pass.cpp
+++ b/libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search_n_pred.pass.cpp
@@ -158,7 +158,7 @@ test()
count_equal::count = 0;
}
-int main()
+int main(int, char**)
{
test<forward_iterator<const int*> >();
test<bidirectional_iterator<const int*> >();
@@ -167,4 +167,6 @@ int main()
#if TEST_STD_VER > 17
static_assert(test_constexpr());
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search_pred.pass.cpp b/libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search_pred.pass.cpp
index e61f7f9f0f6..f835d2f0945 100644
--- a/libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search_pred.pass.cpp
+++ b/libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search_pred.pass.cpp
@@ -110,7 +110,7 @@ test()
assert(count_equal::count <= sh*3);
}
-int main()
+int main(int, char**)
{
test<forward_iterator<const int*>, forward_iterator<const int*> >();
test<forward_iterator<const int*>, bidirectional_iterator<const int*> >();
@@ -125,4 +125,6 @@ int main()
#if TEST_STD_VER > 17
static_assert(test_constexpr());
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/algorithms/alg.nonmodifying/mismatch/mismatch.pass.cpp b/libcxx/test/std/algorithms/alg.nonmodifying/mismatch/mismatch.pass.cpp
index 74502d63156..72281b47fd7 100644
--- a/libcxx/test/std/algorithms/alg.nonmodifying/mismatch/mismatch.pass.cpp
+++ b/libcxx/test/std/algorithms/alg.nonmodifying/mismatch/mismatch.pass.cpp
@@ -58,7 +58,7 @@ TEST_CONSTEXPR bool test_constexpr() {
}
#endif
-int main()
+int main(int, char**)
{
int ia[] = {0, 1, 2, 2, 0, 1, 2, 3};
const unsigned sa = sizeof(ia)/sizeof(ia[0]);
@@ -89,4 +89,6 @@ int main()
#if TEST_STD_VER > 17
static_assert(test_constexpr());
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/algorithms/alg.nonmodifying/mismatch/mismatch_pred.pass.cpp b/libcxx/test/std/algorithms/alg.nonmodifying/mismatch/mismatch_pred.pass.cpp
index 2b21daab0b8..15edec03a25 100644
--- a/libcxx/test/std/algorithms/alg.nonmodifying/mismatch/mismatch_pred.pass.cpp
+++ b/libcxx/test/std/algorithms/alg.nonmodifying/mismatch/mismatch_pred.pass.cpp
@@ -68,7 +68,7 @@ TEST_CONSTEXPR bool test_constexpr() {
#define HAS_FOUR_ITERATOR_VERSION
#endif
-int main()
+int main(int, char**)
{
int ia[] = {0, 1, 2, 2, 0, 1, 2, 3};
const unsigned sa = sizeof(ia)/sizeof(ia[0]);
@@ -114,4 +114,6 @@ int main()
#if TEST_STD_VER > 17
static_assert(test_constexpr());
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/algorithms/alg.nonmodifying/nothing_to_do.pass.cpp b/libcxx/test/std/algorithms/alg.nonmodifying/nothing_to_do.pass.cpp
index f77636c8475..1f764da05d6 100644
--- a/libcxx/test/std/algorithms/alg.nonmodifying/nothing_to_do.pass.cpp
+++ b/libcxx/test/std/algorithms/alg.nonmodifying/nothing_to_do.pass.cpp
@@ -6,6 +6,8 @@
//
//===----------------------------------------------------------------------===//
-int main()
+int main(int, char**)
{
+
+ return 0;
}
OpenPOWER on IntegriCloud