summaryrefslogtreecommitdiffstats
path: root/libcxx/test/std/utilities/utility
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/utilities/utility
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/utilities/utility')
-rw-r--r--libcxx/test/std/utilities/utility/as_const/as_const.fail.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/as_const/as_const.pass.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/declval/declval.pass.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/exchange/exchange.pass.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/forward/forward.fail.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/forward/forward.pass.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/forward/forward_03.pass.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/forward/move.fail.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/forward/move.pass.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/forward/move_if_noexcept.pass.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/operators/rel_ops.pass.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/pairs/nothing_to_do.pass.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/pairs/pair.astuple/get_const.fail.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/pairs/pair.astuple/get_const.pass.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/pairs/pair.astuple/get_const_rv.pass.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/pairs/pair.astuple/get_non_const.pass.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/pairs/pair.astuple/get_rv.pass.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/pairs/pair.astuple/pairs.by.type.pass.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/pairs/pair.astuple/pairs.by.type1.fail.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/pairs/pair.astuple/pairs.by.type2.fail.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/pairs/pair.astuple/pairs.by.type3.fail.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/pairs/pair.astuple/tuple_element.fail.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/pairs/pair.astuple/tuple_element.pass.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/pairs/pair.astuple/tuple_size.pass.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/pairs/pair.piecewise/piecewise_construct.pass.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/pairs/pairs.general/nothing_to_do.pass.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/pairs/pairs.pair/U_V.pass.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/pairs/pairs.pair/assign_const_pair_U_V.pass.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/pairs/pairs.pair/assign_pair.pass.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/pairs/pairs.pair/assign_pair_cxx03.pass.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/pairs/pairs.pair/assign_rv_pair.pass.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/pairs/pairs.pair/assign_rv_pair_U_V.pass.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/pairs/pairs.pair/const_first_const_second.pass.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/pairs/pairs.pair/const_first_const_second_cxx03.pass.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/pairs/pairs.pair/const_pair_U_V.pass.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/pairs/pairs.pair/const_pair_U_V_cxx03.pass.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/pairs/pairs.pair/copy_ctor.pass.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/pairs/pairs.pair/default-sfinae.pass.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/pairs/pairs.pair/default.pass.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/pairs/pairs.pair/dtor.pass.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/pairs/pairs.pair/implicit_deduction_guides.pass.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/pairs/pairs.pair/move_ctor.pass.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/pairs/pairs.pair/not_constexpr_cxx11.fail.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/pairs/pairs.pair/piecewise.pass.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/pairs/pairs.pair/rv_pair_U_V.pass.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/pairs/pairs.pair/special_member_generation_test.pass.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/pairs/pairs.pair/swap.pass.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/pairs/pairs.pair/trivial_copy_move.pass.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/pairs/pairs.pair/types.pass.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/pairs/pairs.spec/comparison.pass.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/pairs/pairs.spec/make_pair.pass.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/pairs/pairs.spec/non_member_swap.pass.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/synopsis.pass.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/utility.inplace/inplace.pass.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/utility.swap/swap.pass.cpp4
-rw-r--r--libcxx/test/std/utilities/utility/utility.swap/swap_array.pass.cpp4
56 files changed, 168 insertions, 56 deletions
diff --git a/libcxx/test/std/utilities/utility/as_const/as_const.fail.cpp b/libcxx/test/std/utilities/utility/as_const/as_const.fail.cpp
index 5f3b78b7245..1bb2e64c371 100644
--- a/libcxx/test/std/utilities/utility/as_const/as_const.fail.cpp
+++ b/libcxx/test/std/utilities/utility/as_const/as_const.fail.cpp
@@ -15,7 +15,9 @@
struct S {int i;};
-int main()
+int main(int, char**)
{
std::as_const(S{});
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/as_const/as_const.pass.cpp b/libcxx/test/std/utilities/utility/as_const/as_const.pass.cpp
index 284e5b7b3d6..32d240a0b41 100644
--- a/libcxx/test/std/utilities/utility/as_const/as_const.pass.cpp
+++ b/libcxx/test/std/utilities/utility/as_const/as_const.pass.cpp
@@ -34,7 +34,7 @@ void test(T& t)
assert(std::as_const<const volatile T>(t) == t);
}
-int main()
+int main(int, char**)
{
int i = 3;
double d = 4.0;
@@ -42,4 +42,6 @@ int main()
test(i);
test(d);
test(s);
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/declval/declval.pass.cpp b/libcxx/test/std/utilities/utility/declval/declval.pass.cpp
index b298d58a018..6509fd4377c 100644
--- a/libcxx/test/std/utilities/utility/declval/declval.pass.cpp
+++ b/libcxx/test/std/utilities/utility/declval/declval.pass.cpp
@@ -21,11 +21,13 @@ class A
A& operator=(const A&);
};
-int main()
+int main(int, char**)
{
#if TEST_STD_VER >= 11
static_assert((std::is_same<decltype(std::declval<A>()), A&&>::value), "");
#else
static_assert((std::is_same<decltype(std::declval<A>()), A&>::value), "");
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/exchange/exchange.pass.cpp b/libcxx/test/std/utilities/utility/exchange/exchange.pass.cpp
index 1defcbfb339..41e8abb43e5 100644
--- a/libcxx/test/std/utilities/utility/exchange/exchange.pass.cpp
+++ b/libcxx/test/std/utilities/utility/exchange/exchange.pass.cpp
@@ -39,7 +39,7 @@ TEST_CONSTEXPR bool test_constexpr() {
-int main()
+int main(int, char**)
{
{
int v = 12;
@@ -80,4 +80,6 @@ int main()
#if TEST_STD_VER > 17
static_assert(test_constexpr());
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/forward/forward.fail.cpp b/libcxx/test/std/utilities/utility/forward/forward.fail.cpp
index a689b1d0dfe..4efc1b6aad1 100644
--- a/libcxx/test/std/utilities/utility/forward/forward.fail.cpp
+++ b/libcxx/test/std/utilities/utility/forward/forward.fail.cpp
@@ -19,7 +19,7 @@ struct A
A source() {return A();}
const A csource() {return A();}
-int main()
+int main(int, char**)
{
#if TEST_STD_VER >= 11
{
@@ -49,4 +49,6 @@ int main()
A a;
std::forward(a); // expected-error {{no matching function for call to 'forward'}}
}
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/forward/forward.pass.cpp b/libcxx/test/std/utilities/utility/forward/forward.pass.cpp
index 394c016e2c3..b2f7c960392 100644
--- a/libcxx/test/std/utilities/utility/forward/forward.pass.cpp
+++ b/libcxx/test/std/utilities/utility/forward/forward.pass.cpp
@@ -41,7 +41,7 @@ constexpr bool test_constexpr_forward() {
#endif
}
-int main()
+int main(int, char**)
{
A a;
const A ca = A();
@@ -87,4 +87,6 @@ int main()
static_assert(std::forward<const int&>(i2) == 42, "");
}
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/forward/forward_03.pass.cpp b/libcxx/test/std/utilities/utility/forward/forward_03.pass.cpp
index c5a2507a750..522382dc7ed 100644
--- a/libcxx/test/std/utilities/utility/forward/forward_03.pass.cpp
+++ b/libcxx/test/std/utilities/utility/forward/forward_03.pass.cpp
@@ -28,7 +28,7 @@ struct eight {one _[8];};
one test(A&);
two test(const A&);
-int main()
+int main(int, char**)
{
A a;
const A ca = A();
@@ -54,4 +54,6 @@ int main()
static_assert(sizeof(test(std::forward<const A>(ca))) == 2, "");
static_assert(sizeof(test(std::forward<const A>(csource()))) == 2, "");
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/forward/move.fail.cpp b/libcxx/test/std/utilities/utility/forward/move.fail.cpp
index bd8fd46a97e..86f3cc3e5d0 100644
--- a/libcxx/test/std/utilities/utility/forward/move.fail.cpp
+++ b/libcxx/test/std/utilities/utility/forward/move.fail.cpp
@@ -24,10 +24,12 @@ const move_only csource() {return move_only();}
void test(move_only) {}
-int main()
+int main(int, char**)
{
move_only a;
const move_only ca = move_only();
test(std::move(ca)); // c
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/forward/move.pass.cpp b/libcxx/test/std/utilities/utility/forward/move.pass.cpp
index c98efa1c345..3db61cda27d 100644
--- a/libcxx/test/std/utilities/utility/forward/move.pass.cpp
+++ b/libcxx/test/std/utilities/utility/forward/move.pass.cpp
@@ -62,7 +62,7 @@ constexpr bool test_constexpr_move() {
#endif
}
-int main()
+int main(int, char**)
{
{ // Test return type and noexcept.
static_assert(std::is_same<decltype(std::move(x)), int&&>::value, "");
@@ -117,4 +117,6 @@ int main()
static_assert(std::move(y) == 42, "");
}
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/forward/move_if_noexcept.pass.cpp b/libcxx/test/std/utilities/utility/forward/move_if_noexcept.pass.cpp
index 52a276c2412..11ea3c58f09 100644
--- a/libcxx/test/std/utilities/utility/forward/move_if_noexcept.pass.cpp
+++ b/libcxx/test/std/utilities/utility/forward/move_if_noexcept.pass.cpp
@@ -39,7 +39,7 @@ struct legacy
legacy(const legacy&);
};
-int main()
+int main(int, char**)
{
int i = 0;
const int ci = 0;
@@ -71,4 +71,6 @@ int main()
static_assert(i2 == 23, "" );
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/operators/rel_ops.pass.cpp b/libcxx/test/std/utilities/utility/operators/rel_ops.pass.cpp
index 9c8dbedcc65..42e80866562 100644
--- a/libcxx/test/std/utilities/utility/operators/rel_ops.pass.cpp
+++ b/libcxx/test/std/utilities/utility/operators/rel_ops.pass.cpp
@@ -32,7 +32,7 @@ operator < (const A& x, const A& y)
return x.data_ < y.data_;
}
-int main()
+int main(int, char**)
{
using namespace std::rel_ops;
A a1(1);
@@ -45,4 +45,6 @@ int main()
assert(a1 <= a2);
assert(a2 >= a2);
assert(a2 >= a1);
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/pairs/nothing_to_do.pass.cpp b/libcxx/test/std/utilities/utility/pairs/nothing_to_do.pass.cpp
index f77636c8475..1f764da05d6 100644
--- a/libcxx/test/std/utilities/utility/pairs/nothing_to_do.pass.cpp
+++ b/libcxx/test/std/utilities/utility/pairs/nothing_to_do.pass.cpp
@@ -6,6 +6,8 @@
//
//===----------------------------------------------------------------------===//
-int main()
+int main(int, char**)
{
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/pairs/pair.astuple/get_const.fail.cpp b/libcxx/test/std/utilities/utility/pairs/pair.astuple/get_const.fail.cpp
index e14a1c46a7b..e186514f0ea 100644
--- a/libcxx/test/std/utilities/utility/pairs/pair.astuple/get_const.fail.cpp
+++ b/libcxx/test/std/utilities/utility/pairs/pair.astuple/get_const.fail.cpp
@@ -17,7 +17,7 @@
#include <utility>
#include <cassert>
-int main()
+int main(int, char**)
{
{
typedef std::pair<int, short> P;
@@ -26,4 +26,6 @@ int main()
assert(std::get<1>(p) == 4);
std::get<0>(p) = 5;
}
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/pairs/pair.astuple/get_const.pass.cpp b/libcxx/test/std/utilities/utility/pairs/pair.astuple/get_const.pass.cpp
index 2b164deb457..d9747b337e8 100644
--- a/libcxx/test/std/utilities/utility/pairs/pair.astuple/get_const.pass.cpp
+++ b/libcxx/test/std/utilities/utility/pairs/pair.astuple/get_const.pass.cpp
@@ -19,7 +19,7 @@
#include "test_macros.h"
-int main()
+int main(int, char**)
{
{
typedef std::pair<int, short> P;
@@ -36,4 +36,6 @@ int main()
static_assert(std::get<1>(p1) == 4, "");
}
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/pairs/pair.astuple/get_const_rv.pass.cpp b/libcxx/test/std/utilities/utility/pairs/pair.astuple/get_const_rv.pass.cpp
index 05c81a23b58..a477c5150ab 100644
--- a/libcxx/test/std/utilities/utility/pairs/pair.astuple/get_const_rv.pass.cpp
+++ b/libcxx/test/std/utilities/utility/pairs/pair.astuple/get_const_rv.pass.cpp
@@ -23,7 +23,7 @@
#include "test_macros.h"
-int main()
+int main(int, char**)
{
{
typedef std::pair<std::unique_ptr<int>, short> P;
@@ -62,4 +62,6 @@ int main()
static_assert(std::get<1>(std::move(p1)) == 4, "");
}
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/pairs/pair.astuple/get_non_const.pass.cpp b/libcxx/test/std/utilities/utility/pairs/pair.astuple/get_non_const.pass.cpp
index 45fb7aa7942..6119cd5c8ce 100644
--- a/libcxx/test/std/utilities/utility/pairs/pair.astuple/get_non_const.pass.cpp
+++ b/libcxx/test/std/utilities/utility/pairs/pair.astuple/get_non_const.pass.cpp
@@ -29,7 +29,7 @@ struct S {
constexpr std::pair<int, int> getP () { return { 3, 4 }; }
#endif
-int main()
+int main(int, char**)
{
{
typedef std::pair<int, short> P;
@@ -49,4 +49,6 @@ int main()
}
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/pairs/pair.astuple/get_rv.pass.cpp b/libcxx/test/std/utilities/utility/pairs/pair.astuple/get_rv.pass.cpp
index 9ca7b4df6df..e0ce55bba90 100644
--- a/libcxx/test/std/utilities/utility/pairs/pair.astuple/get_rv.pass.cpp
+++ b/libcxx/test/std/utilities/utility/pairs/pair.astuple/get_rv.pass.cpp
@@ -20,7 +20,7 @@
#include <memory>
#include <cassert>
-int main()
+int main(int, char**)
{
{
typedef std::pair<std::unique_ptr<int>, short> P;
@@ -28,4 +28,6 @@ int main()
std::unique_ptr<int> ptr = std::get<0>(std::move(p));
assert(*ptr == 3);
}
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/pairs/pair.astuple/pairs.by.type.pass.cpp b/libcxx/test/std/utilities/utility/pairs/pair.astuple/pairs.by.type.pass.cpp
index 99fb2cd2259..f2d3359e7a5 100644
--- a/libcxx/test/std/utilities/utility/pairs/pair.astuple/pairs.by.type.pass.cpp
+++ b/libcxx/test/std/utilities/utility/pairs/pair.astuple/pairs.by.type.pass.cpp
@@ -16,7 +16,7 @@
#include <cassert>
-int main()
+int main(int, char**)
{
typedef std::complex<float> cf;
{
@@ -81,4 +81,6 @@ int main()
static_assert(std::get<int>(std::move(p)) == 1, "");
static_assert(std::get<const int>(std::move(p)) == 2, "");
}
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/pairs/pair.astuple/pairs.by.type1.fail.cpp b/libcxx/test/std/utilities/utility/pairs/pair.astuple/pairs.by.type1.fail.cpp
index bba71cb8de2..dce209921b8 100644
--- a/libcxx/test/std/utilities/utility/pairs/pair.astuple/pairs.by.type1.fail.cpp
+++ b/libcxx/test/std/utilities/utility/pairs/pair.astuple/pairs.by.type1.fail.cpp
@@ -12,9 +12,11 @@
#include <cassert>
-int main()
+int main(int, char**)
{
typedef std::complex<float> cf;
auto t1 = std::make_pair<int, double> ( 42, 3.4 );
assert (( std::get<cf>(t1) == cf {1,2} )); // no such type
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/pairs/pair.astuple/pairs.by.type2.fail.cpp b/libcxx/test/std/utilities/utility/pairs/pair.astuple/pairs.by.type2.fail.cpp
index c79e0788ce0..4c2ea88e6b8 100644
--- a/libcxx/test/std/utilities/utility/pairs/pair.astuple/pairs.by.type2.fail.cpp
+++ b/libcxx/test/std/utilities/utility/pairs/pair.astuple/pairs.by.type2.fail.cpp
@@ -12,9 +12,11 @@
#include <cassert>
-int main()
+int main(int, char**)
{
typedef std::complex<float> cf;
auto t1 = std::make_pair<int, int> ( 42, 43 );
assert ( std::get<int>(t1) == 42 ); // two ints
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/pairs/pair.astuple/pairs.by.type3.fail.cpp b/libcxx/test/std/utilities/utility/pairs/pair.astuple/pairs.by.type3.fail.cpp
index 4787d0e2edd..e30b787e1fd 100644
--- a/libcxx/test/std/utilities/utility/pairs/pair.astuple/pairs.by.type3.fail.cpp
+++ b/libcxx/test/std/utilities/utility/pairs/pair.astuple/pairs.by.type3.fail.cpp
@@ -12,9 +12,11 @@
#include <cassert>
-int main()
+int main(int, char**)
{
typedef std::unique_ptr<int> upint;
std::pair<upint, int> t(upint(new int(4)), 23);
upint p = std::get<upint>(t);
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/pairs/pair.astuple/tuple_element.fail.cpp b/libcxx/test/std/utilities/utility/pairs/pair.astuple/tuple_element.fail.cpp
index ba571fda1eb..e53ca898d26 100644
--- a/libcxx/test/std/utilities/utility/pairs/pair.astuple/tuple_element.fail.cpp
+++ b/libcxx/test/std/utilities/utility/pairs/pair.astuple/tuple_element.fail.cpp
@@ -14,8 +14,10 @@
#include <utility>
-int main()
+int main(int, char**)
{
typedef std::pair<int, short> T;
std::tuple_element<2, T>::type foo; // expected-error@utility:* {{Index out of bounds in std::tuple_element<std::pair<T1, T2>>}}
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/pairs/pair.astuple/tuple_element.pass.cpp b/libcxx/test/std/utilities/utility/pairs/pair.astuple/tuple_element.pass.cpp
index 4ba58143442..1e41e3fda5d 100644
--- a/libcxx/test/std/utilities/utility/pairs/pair.astuple/tuple_element.pass.cpp
+++ b/libcxx/test/std/utilities/utility/pairs/pair.astuple/tuple_element.pass.cpp
@@ -47,8 +47,10 @@ void test()
}
}
-int main()
+int main(int, char**)
{
test<int, short>();
test<int*, char>();
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/pairs/pair.astuple/tuple_size.pass.cpp b/libcxx/test/std/utilities/utility/pairs/pair.astuple/tuple_size.pass.cpp
index a88b8459692..3b95b4749dd 100644
--- a/libcxx/test/std/utilities/utility/pairs/pair.astuple/tuple_size.pass.cpp
+++ b/libcxx/test/std/utilities/utility/pairs/pair.astuple/tuple_size.pass.cpp
@@ -14,7 +14,7 @@
#include <utility>
-int main()
+int main(int, char**)
{
{
typedef std::pair<int, short> P1;
@@ -32,4 +32,6 @@ int main()
typedef std::pair<int, short> const volatile P1;
static_assert((std::tuple_size<P1>::value == 2), "");
}
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/pairs/pair.piecewise/piecewise_construct.pass.cpp b/libcxx/test/std/utilities/utility/pairs/pair.piecewise/piecewise_construct.pass.cpp
index 72eb312081e..98f864caf1f 100644
--- a/libcxx/test/std/utilities/utility/pairs/pair.piecewise/piecewise_construct.pass.cpp
+++ b/libcxx/test/std/utilities/utility/pairs/pair.piecewise/piecewise_construct.pass.cpp
@@ -41,7 +41,7 @@ public:
unsigned get_u2() const {return u2_;}
};
-int main()
+int main(int, char**)
{
std::pair<A, B> p(std::piecewise_construct,
std::make_tuple(4, 'a'),
@@ -51,4 +51,6 @@ int main()
assert(p.second.get_d() == 3.5);
assert(p.second.get_u1() == 6u);
assert(p.second.get_u2() == 2u);
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/pairs/pairs.general/nothing_to_do.pass.cpp b/libcxx/test/std/utilities/utility/pairs/pairs.general/nothing_to_do.pass.cpp
index f77636c8475..1f764da05d6 100644
--- a/libcxx/test/std/utilities/utility/pairs/pairs.general/nothing_to_do.pass.cpp
+++ b/libcxx/test/std/utilities/utility/pairs/pairs.general/nothing_to_do.pass.cpp
@@ -6,6 +6,8 @@
//
//===----------------------------------------------------------------------===//
-int main()
+int main(int, char**)
{
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/pairs/pairs.pair/U_V.pass.cpp b/libcxx/test/std/utilities/utility/pairs/pairs.pair/U_V.pass.cpp
index 11403c91de0..0f22808de48 100644
--- a/libcxx/test/std/utilities/utility/pairs/pairs.pair/U_V.pass.cpp
+++ b/libcxx/test/std/utilities/utility/pairs/pairs.pair/U_V.pass.cpp
@@ -46,7 +46,7 @@ struct ImplicitT {
};
-int main()
+int main(int, char**)
{
{
typedef std::pair<std::unique_ptr<int>, short*> P;
@@ -96,4 +96,6 @@ int main()
static_assert(p.second.value == 43, "");
}
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/pairs/pairs.pair/assign_const_pair_U_V.pass.cpp b/libcxx/test/std/utilities/utility/pairs/pairs.pair/assign_const_pair_U_V.pass.cpp
index 5af432b991a..834d73dd7f5 100644
--- a/libcxx/test/std/utilities/utility/pairs/pairs.pair/assign_const_pair_U_V.pass.cpp
+++ b/libcxx/test/std/utilities/utility/pairs/pairs.pair/assign_const_pair_U_V.pass.cpp
@@ -20,7 +20,7 @@
#include "archetypes.hpp"
#endif
-int main()
+int main(int, char**)
{
{
typedef std::pair<int, short> P1;
@@ -48,4 +48,6 @@ int main()
assert(p.second.value == -42);
}
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/pairs/pairs.pair/assign_pair.pass.cpp b/libcxx/test/std/utilities/utility/pairs/pairs.pair/assign_pair.pass.cpp
index db671a1501a..f4dfe5e1b94 100644
--- a/libcxx/test/std/utilities/utility/pairs/pairs.pair/assign_pair.pass.cpp
+++ b/libcxx/test/std/utilities/utility/pairs/pairs.pair/assign_pair.pass.cpp
@@ -49,7 +49,7 @@ int CountAssign::moved = 0;
struct Incomplete;
extern Incomplete inc_obj;
-int main()
+int main(int, char**)
{
{
typedef std::pair<CopyAssignable, short> P;
@@ -94,6 +94,8 @@ int main()
P p(42, inc_obj);
assert(&p.second == &inc_obj);
}
+
+ return 0;
}
struct Incomplete {};
diff --git a/libcxx/test/std/utilities/utility/pairs/pairs.pair/assign_pair_cxx03.pass.cpp b/libcxx/test/std/utilities/utility/pairs/pairs.pair/assign_pair_cxx03.pass.cpp
index 53cc49183f7..47f85eaa6b4 100644
--- a/libcxx/test/std/utilities/utility/pairs/pairs.pair/assign_pair_cxx03.pass.cpp
+++ b/libcxx/test/std/utilities/utility/pairs/pairs.pair/assign_pair_cxx03.pass.cpp
@@ -27,7 +27,7 @@ private:
struct Incomplete;
extern Incomplete inc_obj;
-int main()
+int main(int, char**)
{
{
// Test that we don't constrain the assignment operator in C++03 mode.
@@ -42,6 +42,8 @@ int main()
P p(42, inc_obj);
assert(&p.second == &inc_obj);
}
+
+ return 0;
}
struct Incomplete {};
diff --git a/libcxx/test/std/utilities/utility/pairs/pairs.pair/assign_rv_pair.pass.cpp b/libcxx/test/std/utilities/utility/pairs/pairs.pair/assign_rv_pair.pass.cpp
index 91427ca7f2c..b4f0c01094d 100644
--- a/libcxx/test/std/utilities/utility/pairs/pairs.pair/assign_rv_pair.pass.cpp
+++ b/libcxx/test/std/utilities/utility/pairs/pairs.pair/assign_rv_pair.pass.cpp
@@ -45,7 +45,7 @@ struct CountAssign {
int CountAssign::copied = 0;
int CountAssign::moved = 0;
-int main()
+int main(int, char**)
{
{
typedef std::pair<std::unique_ptr<int>, int> P;
@@ -92,4 +92,6 @@ int main()
assert(CountAssign::moved == 1);
assert(CountAssign::copied == 0);
}
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/pairs/pairs.pair/assign_rv_pair_U_V.pass.cpp b/libcxx/test/std/utilities/utility/pairs/pairs.pair/assign_rv_pair_U_V.pass.cpp
index 7248c2ffa02..0be0a4e9526 100644
--- a/libcxx/test/std/utilities/utility/pairs/pairs.pair/assign_rv_pair_U_V.pass.cpp
+++ b/libcxx/test/std/utilities/utility/pairs/pairs.pair/assign_rv_pair_U_V.pass.cpp
@@ -29,7 +29,7 @@ struct Derived
{
};
-int main()
+int main(int, char**)
{
{
typedef std::pair<std::unique_ptr<Derived>, short> P1;
@@ -55,4 +55,6 @@ int main()
assert(p.first == 42);
assert(p.second.value == -42);
}
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/pairs/pairs.pair/const_first_const_second.pass.cpp b/libcxx/test/std/utilities/utility/pairs/pairs.pair/const_first_const_second.pass.cpp
index fcaa44849cb..e147d755856 100644
--- a/libcxx/test/std/utilities/utility/pairs/pairs.pair/const_first_const_second.pass.cpp
+++ b/libcxx/test/std/utilities/utility/pairs/pairs.pair/const_first_const_second.pass.cpp
@@ -46,7 +46,7 @@ void test_sfinae() {
static_assert(test_convertible<P2, T2, T1Arg>() == CanConvert, "");
}
-int main()
+int main(int, char**)
{
{
typedef std::pair<float, short*> P;
@@ -94,4 +94,6 @@ int main()
static_assert(p.second == 10, "");
}
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/pairs/pairs.pair/const_first_const_second_cxx03.pass.cpp b/libcxx/test/std/utilities/utility/pairs/pairs.pair/const_first_const_second_cxx03.pass.cpp
index 4759303d663..880179723fb 100644
--- a/libcxx/test/std/utilities/utility/pairs/pairs.pair/const_first_const_second_cxx03.pass.cpp
+++ b/libcxx/test/std/utilities/utility/pairs/pairs.pair/const_first_const_second_cxx03.pass.cpp
@@ -24,7 +24,7 @@ public:
bool operator==(const A& a) const {return data_ == a.data_;}
};
-int main()
+int main(int, char**)
{
{
typedef std::pair<float, short*> P;
@@ -38,4 +38,6 @@ int main()
assert(p.first == A(1));
assert(p.second == 2);
}
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/pairs/pairs.pair/const_pair_U_V.pass.cpp b/libcxx/test/std/utilities/utility/pairs/pairs.pair/const_pair_U_V.pass.cpp
index c9c733d8cbe..ce1e86c1a8b 100644
--- a/libcxx/test/std/utilities/utility/pairs/pairs.pair/const_pair_U_V.pass.cpp
+++ b/libcxx/test/std/utilities/utility/pairs/pairs.pair/const_pair_U_V.pass.cpp
@@ -53,7 +53,7 @@ struct ImplicitT {
int value;
};
-int main()
+int main(int, char**)
{
{
typedef std::pair<int, int> P1;
@@ -177,4 +177,6 @@ int main()
static_assert(p2.second.value == 101, "");
}
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/pairs/pairs.pair/const_pair_U_V_cxx03.pass.cpp b/libcxx/test/std/utilities/utility/pairs/pairs.pair/const_pair_U_V_cxx03.pass.cpp
index 8a3fca758eb..9f6498806f3 100644
--- a/libcxx/test/std/utilities/utility/pairs/pairs.pair/const_pair_U_V_cxx03.pass.cpp
+++ b/libcxx/test/std/utilities/utility/pairs/pairs.pair/const_pair_U_V_cxx03.pass.cpp
@@ -15,7 +15,7 @@
#include <utility>
#include <cassert>
-int main()
+int main(int, char**)
{
{
typedef std::pair<int, short> P1;
@@ -25,4 +25,6 @@ int main()
assert(p2.first == 3);
assert(p2.second == 4);
}
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/pairs/pairs.pair/copy_ctor.pass.cpp b/libcxx/test/std/utilities/utility/pairs/pairs.pair/copy_ctor.pass.cpp
index bee96000e52..81a32901abe 100644
--- a/libcxx/test/std/utilities/utility/pairs/pairs.pair/copy_ctor.pass.cpp
+++ b/libcxx/test/std/utilities/utility/pairs/pairs.pair/copy_ctor.pass.cpp
@@ -17,7 +17,7 @@
#include "test_macros.h"
-int main()
+int main(int, char**)
{
{
typedef std::pair<int, short> P1;
@@ -35,4 +35,6 @@ int main()
static_assert(p2.second == 4, "");
}
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/pairs/pairs.pair/default-sfinae.pass.cpp b/libcxx/test/std/utilities/utility/pairs/pairs.pair/default-sfinae.pass.cpp
index b3a248c8862..70557aa923c 100644
--- a/libcxx/test/std/utilities/utility/pairs/pairs.pair/default-sfinae.pass.cpp
+++ b/libcxx/test/std/utilities/utility/pairs/pairs.pair/default-sfinae.pass.cpp
@@ -139,7 +139,7 @@ void test_illformed_default()
}
-int main()
+int main(int, char**)
{
{
// Check that pair<T, U> can still be used even if
@@ -160,4 +160,6 @@ int main()
test_is_default_constructible<int>();
test_is_default_constructible<DefaultSFINAES<int>>();
}
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/pairs/pairs.pair/default.pass.cpp b/libcxx/test/std/utilities/utility/pairs/pairs.pair/default.pass.cpp
index 9a07814b123..dc1f37b666b 100644
--- a/libcxx/test/std/utilities/utility/pairs/pairs.pair/default.pass.cpp
+++ b/libcxx/test/std/utilities/utility/pairs/pairs.pair/default.pass.cpp
@@ -28,7 +28,7 @@
#include "test_macros.h"
#include "archetypes.hpp"
-int main()
+int main(int, char**)
{
{
typedef std::pair<float, short*> P;
@@ -51,4 +51,6 @@ int main()
static_assert(!std::is_default_constructible<P2>::value, "");
}
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/pairs/pairs.pair/dtor.pass.cpp b/libcxx/test/std/utilities/utility/pairs/pairs.pair/dtor.pass.cpp
index df9cbc75756..268ec4294c7 100644
--- a/libcxx/test/std/utilities/utility/pairs/pairs.pair/dtor.pass.cpp
+++ b/libcxx/test/std/utilities/utility/pairs/pairs.pair/dtor.pass.cpp
@@ -26,10 +26,12 @@
#include "test_macros.h"
-int main()
+int main(int, char**)
{
static_assert((std::is_trivially_destructible<
std::pair<int, float> >::value), "");
static_assert((!std::is_trivially_destructible<
std::pair<int, std::string> >::value), "");
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/pairs/pairs.pair/implicit_deduction_guides.pass.cpp b/libcxx/test/std/utilities/utility/pairs/pairs.pair/implicit_deduction_guides.pass.cpp
index 4b7529388cd..ca5a728844e 100644
--- a/libcxx/test/std/utilities/utility/pairs/pairs.pair/implicit_deduction_guides.pass.cpp
+++ b/libcxx/test/std/utilities/utility/pairs/pairs.pair/implicit_deduction_guides.pass.cpp
@@ -39,7 +39,7 @@
// (6) explicit pair(pair<U1, U2> const&) -> pair<U1, U2>
// (7) pair(pair<U1, U2> &&) -> pair<U1, U2>
// (8) explicit pair(pair<U1, U2> &&) -> pair<U1, U2>
-int main()
+int main(int, char**)
{
using E = ExplicitTestTypes::TestType;
static_assert(!std::is_convertible<E const&, E>::value, "");
@@ -76,4 +76,6 @@ int main()
std::pair p1(std::move(p));
ASSERT_SAME_TYPE(decltype(p1), std::pair<std::string, E>);
}
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/pairs/pairs.pair/move_ctor.pass.cpp b/libcxx/test/std/utilities/utility/pairs/pairs.pair/move_ctor.pass.cpp
index 92a0aa42b14..53d81ac7aac 100644
--- a/libcxx/test/std/utilities/utility/pairs/pairs.pair/move_ctor.pass.cpp
+++ b/libcxx/test/std/utilities/utility/pairs/pairs.pair/move_ctor.pass.cpp
@@ -25,7 +25,7 @@ struct Dummy {
Dummy(Dummy &&) = default;
};
-int main()
+int main(int, char**)
{
{
typedef std::pair<int, short> P1;
@@ -40,4 +40,6 @@ int main()
static_assert(!std::is_copy_constructible<P>::value, "");
static_assert(std::is_move_constructible<P>::value, "");
}
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/pairs/pairs.pair/not_constexpr_cxx11.fail.cpp b/libcxx/test/std/utilities/utility/pairs/pairs.pair/not_constexpr_cxx11.fail.cpp
index 325499eafaf..88d0f964939 100644
--- a/libcxx/test/std/utilities/utility/pairs/pairs.pair/not_constexpr_cxx11.fail.cpp
+++ b/libcxx/test/std/utilities/utility/pairs/pairs.pair/not_constexpr_cxx11.fail.cpp
@@ -27,7 +27,7 @@ struct ImplicitT {
int value;
};
-int main()
+int main(int, char**)
{
{
using P = std::pair<int, int>;
@@ -53,4 +53,6 @@ int main()
constexpr P U_V = {42, 101}; // expected-error {{must be initialized by a constant expression}}
constexpr P pair_U_V = other; // expected-error {{must be initialized by a constant expression}}
}
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/pairs/pairs.pair/piecewise.pass.cpp b/libcxx/test/std/utilities/utility/pairs/pairs.pair/piecewise.pass.cpp
index 3c93eeb3dca..26b02f383ad 100644
--- a/libcxx/test/std/utilities/utility/pairs/pairs.pair/piecewise.pass.cpp
+++ b/libcxx/test/std/utilities/utility/pairs/pairs.pair/piecewise.pass.cpp
@@ -21,7 +21,7 @@
#include <utility>
-int main()
+int main(int, char**)
{
{
typedef std::pair<int, int*> P1;
@@ -32,4 +32,6 @@ int main()
assert(p3.first == P1(3, nullptr));
assert(p3.second == P2(nullptr, 4));
}
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/pairs/pairs.pair/rv_pair_U_V.pass.cpp b/libcxx/test/std/utilities/utility/pairs/pairs.pair/rv_pair_U_V.pass.cpp
index b38ca2a3b72..0e3d9a1cb70 100644
--- a/libcxx/test/std/utilities/utility/pairs/pairs.pair/rv_pair_U_V.pass.cpp
+++ b/libcxx/test/std/utilities/utility/pairs/pairs.pair/rv_pair_U_V.pass.cpp
@@ -63,7 +63,7 @@ struct ImplicitT {
int value;
};
-int main()
+int main(int, char**)
{
{
typedef std::pair<std::unique_ptr<Derived>, int> P1;
@@ -173,4 +173,6 @@ int main()
static_assert(p2.second.value == 43, "");
}
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/pairs/pairs.pair/special_member_generation_test.pass.cpp b/libcxx/test/std/utilities/utility/pairs/pairs.pair/special_member_generation_test.pass.cpp
index 48ea5fac6e9..db174e829bd 100644
--- a/libcxx/test/std/utilities/utility/pairs/pairs.pair/special_member_generation_test.pass.cpp
+++ b/libcxx/test/std/utilities/utility/pairs/pairs.pair/special_member_generation_test.pass.cpp
@@ -120,7 +120,9 @@ void test_assignment_operator_exists() {
}
}
-int main() {
+int main(int, char**) {
test_constructors_exist();
test_assignment_operator_exists();
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/pairs/pairs.pair/swap.pass.cpp b/libcxx/test/std/utilities/utility/pairs/pairs.pair/swap.pass.cpp
index 58a5c29326a..faaae1bc255 100644
--- a/libcxx/test/std/utilities/utility/pairs/pairs.pair/swap.pass.cpp
+++ b/libcxx/test/std/utilities/utility/pairs/pairs.pair/swap.pass.cpp
@@ -24,7 +24,7 @@ struct S {
bool operator==(int x) const { return i == x; }
};
-int main()
+int main(int, char**)
{
{
typedef std::pair<int, short> P1;
@@ -46,4 +46,6 @@ int main()
assert(p2.first == 3);
assert(p2.second == 4);
}
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/pairs/pairs.pair/trivial_copy_move.pass.cpp b/libcxx/test/std/utilities/utility/pairs/pairs.pair/trivial_copy_move.pass.cpp
index e4b444a349f..6841f286553 100644
--- a/libcxx/test/std/utilities/utility/pairs/pairs.pair/trivial_copy_move.pass.cpp
+++ b/libcxx/test/std/utilities/utility/pairs/pairs.pair/trivial_copy_move.pass.cpp
@@ -26,7 +26,7 @@ struct Dummy {
Dummy(Dummy &&) = default;
};
-int main()
+int main(int, char**)
{
typedef std::pair<int, short> P;
{
@@ -52,4 +52,6 @@ int main()
#endif
}
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/pairs/pairs.pair/types.pass.cpp b/libcxx/test/std/utilities/utility/pairs/pairs.pair/types.pass.cpp
index abda1d8c3b9..25108de5bbe 100644
--- a/libcxx/test/std/utilities/utility/pairs/pairs.pair/types.pass.cpp
+++ b/libcxx/test/std/utilities/utility/pairs/pairs.pair/types.pass.cpp
@@ -17,9 +17,11 @@
#include <utility>
#include <type_traits>
-int main()
+int main(int, char**)
{
typedef std::pair<float, short*> P;
static_assert((std::is_same<P::first_type, float>::value), "");
static_assert((std::is_same<P::second_type, short*>::value), "");
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/pairs/pairs.spec/comparison.pass.cpp b/libcxx/test/std/utilities/utility/pairs/pairs.spec/comparison.pass.cpp
index 3b994dfd4df..12d6ab01917 100644
--- a/libcxx/test/std/utilities/utility/pairs/pairs.spec/comparison.pass.cpp
+++ b/libcxx/test/std/utilities/utility/pairs/pairs.spec/comparison.pass.cpp
@@ -23,7 +23,7 @@
#include "test_macros.h"
-int main()
+int main(int, char**)
{
{
typedef std::pair<int, short> P;
@@ -94,4 +94,6 @@ int main()
static_assert( (p1 >= p2), "");
}
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/pairs/pairs.spec/make_pair.pass.cpp b/libcxx/test/std/utilities/utility/pairs/pairs.spec/make_pair.pass.cpp
index 3586243f8ba..dff26e57f0b 100644
--- a/libcxx/test/std/utilities/utility/pairs/pairs.spec/make_pair.pass.cpp
+++ b/libcxx/test/std/utilities/utility/pairs/pairs.spec/make_pair.pass.cpp
@@ -17,7 +17,7 @@
#include "test_macros.h"
-int main()
+int main(int, char**)
{
{
typedef std::pair<int, short> P1;
@@ -49,4 +49,6 @@ int main()
}
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/pairs/pairs.spec/non_member_swap.pass.cpp b/libcxx/test/std/utilities/utility/pairs/pairs.spec/non_member_swap.pass.cpp
index 62fa9424794..87432767217 100644
--- a/libcxx/test/std/utilities/utility/pairs/pairs.spec/non_member_swap.pass.cpp
+++ b/libcxx/test/std/utilities/utility/pairs/pairs.spec/non_member_swap.pass.cpp
@@ -16,7 +16,7 @@
#include <utility>
#include <cassert>
-int main()
+int main(int, char**)
{
{
typedef std::pair<int, short> P1;
@@ -28,4 +28,6 @@ int main()
assert(p2.first == 3);
assert(p2.second == 4);
}
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/synopsis.pass.cpp b/libcxx/test/std/utilities/utility/synopsis.pass.cpp
index 90c5e32186d..5a703e1b2e5 100644
--- a/libcxx/test/std/utilities/utility/synopsis.pass.cpp
+++ b/libcxx/test/std/utilities/utility/synopsis.pass.cpp
@@ -13,9 +13,11 @@
#include <utility>
-int main()
+int main(int, char**)
{
std::initializer_list<int> x;
(void)x;
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/utility.inplace/inplace.pass.cpp b/libcxx/test/std/utilities/utility/utility.inplace/inplace.pass.cpp
index 53fa3cf6655..155b2c0eb21 100644
--- a/libcxx/test/std/utilities/utility/utility.inplace/inplace.pass.cpp
+++ b/libcxx/test/std/utilities/utility/utility.inplace/inplace.pass.cpp
@@ -42,7 +42,7 @@ constexpr bool check_tag(Up) {
&& std::is_same<Tp, Up>::value;
}
-int main() {
+int main(int, char**) {
// test in_place_t
{
using T = std::in_place_t;
@@ -70,4 +70,6 @@ int main() {
static_assert(check_tag<T2>(std::in_place_index<1>));
static_assert(check_tag<T3>(std::in_place_index<static_cast<size_t>(-1)>));
}
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/utility.swap/swap.pass.cpp b/libcxx/test/std/utilities/utility/utility.swap/swap.pass.cpp
index 9dda5a42c1f..f52af4cb896 100644
--- a/libcxx/test/std/utilities/utility/utility.swap/swap.pass.cpp
+++ b/libcxx/test/std/utilities/utility/utility.swap/swap.pass.cpp
@@ -62,7 +62,7 @@ constexpr bool can_swap() {
}
#endif
-int main()
+int main(int, char**)
{
{
@@ -99,4 +99,6 @@ int main()
static_assert(noexcept(std::swap(nm, nm)), "");
}
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/utilities/utility/utility.swap/swap_array.pass.cpp b/libcxx/test/std/utilities/utility/utility.swap/swap_array.pass.cpp
index 202e8d33f23..015e85a0135 100644
--- a/libcxx/test/std/utilities/utility/utility.swap/swap_array.pass.cpp
+++ b/libcxx/test/std/utilities/utility/utility.swap/swap_array.pass.cpp
@@ -54,7 +54,7 @@ constexpr bool can_swap() {
#endif
-int main()
+int main(int, char**)
{
{
int i[3] = {1, 2, 3};
@@ -97,4 +97,6 @@ int main()
static_assert(noexcept(std::swap(ma, ma)), "");
}
#endif
+
+ return 0;
}
OpenPOWER on IntegriCloud