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
diff --git a/libcxx/test/std/thread/futures/futures.async/async.fail.cpp b/libcxx/test/std/thread/futures/futures.async/async.fail.cpp
index f93c3ef..3e7fb80 100644
--- a/libcxx/test/std/thread/futures/futures.async/async.fail.cpp
+++ b/libcxx/test/std/thread/futures/futures.async/async.fail.cpp
@@ -30,8 +30,10 @@
int foo (int x) { return x; }
-int main ()
+int main(int, char**)
{
std::async( foo, 3); // expected-error {{ignoring return value of function declared with 'nodiscard' attribute}}
std::async(std::launch::async, foo, 3); // expected-error {{ignoring return value of function declared with 'nodiscard' attribute}}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.async/async.pass.cpp b/libcxx/test/std/thread/futures/futures.async/async.pass.cpp
index 1083cb4..225b63e 100644
--- a/libcxx/test/std/thread/futures/futures.async/async.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.async/async.pass.cpp
@@ -102,7 +102,7 @@
}
}
-int main()
+int main(int, char**)
{
// The default launch policy is implementation defined. libc++ defines
// it to be std::launch::async.
@@ -151,4 +151,5 @@
try { f.get(); assert (false); } catch ( int ) {}
}
#endif
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.async/async_race.38682.pass.cpp b/libcxx/test/std/thread/futures/futures.async/async_race.38682.pass.cpp
index 6e115f0..826704a 100644
--- a/libcxx/test/std/thread/futures/futures.async/async_race.38682.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.async/async_race.38682.pass.cpp
@@ -38,7 +38,7 @@
static void worker_void() { }
-int main() {
+int main(int, char**) {
// future<T>
{
std::vector<int> const v{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
@@ -65,4 +65,6 @@
fut.get();
}
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.async/async_race.pass.cpp b/libcxx/test/std/thread/futures/futures.async/async_race.pass.cpp
index 62e0972..9da57e3 100644
--- a/libcxx/test/std/thread/futures/futures.async/async_race.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.async/async_race.pass.cpp
@@ -62,6 +62,8 @@
}
}
-int main() {
+int main(int, char**) {
for (int i=0; i < 25; ++i) test_each();
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.errors/default_error_condition.pass.cpp b/libcxx/test/std/thread/futures/futures.errors/default_error_condition.pass.cpp
index 1676d4b..fbb7eb1 100644
--- a/libcxx/test/std/thread/futures/futures.errors/default_error_condition.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.errors/default_error_condition.pass.cpp
@@ -17,10 +17,12 @@
#include <future>
#include <cassert>
-int main()
+int main(int, char**)
{
const std::error_category& e_cat = std::future_category();
std::error_condition e_cond = e_cat.default_error_condition(static_cast<int>(std::errc::not_a_directory));
assert(e_cond.category() == e_cat);
assert(e_cond.value() == static_cast<int>(std::errc::not_a_directory));
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.errors/equivalent_error_code_int.pass.cpp b/libcxx/test/std/thread/futures/futures.errors/equivalent_error_code_int.pass.cpp
index cb3f813..3ba3410 100644
--- a/libcxx/test/std/thread/futures/futures.errors/equivalent_error_code_int.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.errors/equivalent_error_code_int.pass.cpp
@@ -17,9 +17,11 @@
#include <future>
#include <cassert>
-int main()
+int main(int, char**)
{
const std::error_category& e_cat = std::future_category();
assert(e_cat.equivalent(std::error_code(5, e_cat), 5));
assert(!e_cat.equivalent(std::error_code(5, e_cat), 6));
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.errors/equivalent_int_error_condition.pass.cpp b/libcxx/test/std/thread/futures/futures.errors/equivalent_int_error_condition.pass.cpp
index f39de5b..9d0e1cf 100644
--- a/libcxx/test/std/thread/futures/futures.errors/equivalent_int_error_condition.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.errors/equivalent_int_error_condition.pass.cpp
@@ -17,10 +17,12 @@
#include <future>
#include <cassert>
-int main()
+int main(int, char**)
{
const std::error_category& e_cat = std::future_category();
std::error_condition e_cond = e_cat.default_error_condition(5);
assert(e_cat.equivalent(5, e_cond));
assert(!e_cat.equivalent(6, e_cond));
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.errors/future_category.pass.cpp b/libcxx/test/std/thread/futures/futures.errors/future_category.pass.cpp
index e9e784c..7b9d723 100644
--- a/libcxx/test/std/thread/futures/futures.errors/future_category.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.errors/future_category.pass.cpp
@@ -16,8 +16,10 @@
#include <cstring>
#include <cassert>
-int main()
+int main(int, char**)
{
const std::error_category& ec = std::future_category();
assert(std::strcmp(ec.name(), "future") == 0);
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.errors/make_error_code.pass.cpp b/libcxx/test/std/thread/futures/futures.errors/make_error_code.pass.cpp
index 9e39585..d9e50bf 100644
--- a/libcxx/test/std/thread/futures/futures.errors/make_error_code.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.errors/make_error_code.pass.cpp
@@ -17,11 +17,13 @@
#include <future>
#include <cassert>
-int main()
+int main(int, char**)
{
{
std::error_code ec = make_error_code(std::future_errc::broken_promise);
assert(ec.value() == static_cast<int>(std::future_errc::broken_promise));
assert(ec.category() == std::future_category());
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.errors/make_error_condition.pass.cpp b/libcxx/test/std/thread/futures/futures.errors/make_error_condition.pass.cpp
index f8cbbde..d055591 100644
--- a/libcxx/test/std/thread/futures/futures.errors/make_error_condition.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.errors/make_error_condition.pass.cpp
@@ -17,7 +17,7 @@
#include <future>
#include <cassert>
-int main()
+int main(int, char**)
{
{
const std::error_condition ec1 =
@@ -26,4 +26,6 @@
static_cast<int>(std::future_errc::future_already_retrieved));
assert(ec1.category() == std::future_category());
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.future_error/code.pass.cpp b/libcxx/test/std/thread/futures/futures.future_error/code.pass.cpp
index 63769f0..53acba3 100644
--- a/libcxx/test/std/thread/futures/futures.future_error/code.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.future_error/code.pass.cpp
@@ -21,7 +21,7 @@
#include "test_macros.h"
-int main()
+int main(int, char**)
{
{
std::error_code ec = std::make_error_code(std::future_errc::broken_promise);
@@ -53,4 +53,6 @@
assert(f.code() == std::make_error_code(std::future_errc::no_state));
}
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.future_error/types.pass.cpp b/libcxx/test/std/thread/futures/futures.future_error/types.pass.cpp
index 911f562..edf18ba 100644
--- a/libcxx/test/std/thread/futures/futures.future_error/types.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.future_error/types.pass.cpp
@@ -15,8 +15,10 @@
#include <future>
#include <type_traits>
-int main()
+int main(int, char**)
{
static_assert((std::is_convertible<std::future_error*,
std::logic_error*>::value), "");
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.future_error/what.pass.cpp b/libcxx/test/std/thread/futures/futures.future_error/what.pass.cpp
index bae25af..468aeb8 100644
--- a/libcxx/test/std/thread/futures/futures.future_error/what.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.future_error/what.pass.cpp
@@ -29,7 +29,7 @@
#include "test_macros.h"
-int main()
+int main(int, char**)
{
{
std::future_error f(std::make_error_code(std::future_errc::broken_promise));
@@ -50,4 +50,6 @@
LIBCPP_ASSERT(std::strcmp(f.what(), "Operation not permitted on an object without "
"an associated state.") == 0);
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.overview/future_errc.pass.cpp b/libcxx/test/std/thread/futures/futures.overview/future_errc.pass.cpp
index 383407d..d7840f4 100644
--- a/libcxx/test/std/thread/futures/futures.overview/future_errc.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.overview/future_errc.pass.cpp
@@ -23,7 +23,7 @@
#include <future>
-int main()
+int main(int, char**)
{
static_assert(std::future_errc::broken_promise != std::future_errc::future_already_retrieved, "");
static_assert(std::future_errc::broken_promise != std::future_errc::promise_already_satisfied, "");
@@ -36,4 +36,6 @@
static_assert(std::future_errc::future_already_retrieved != static_cast<std::future_errc>(0), "");
static_assert(std::future_errc::promise_already_satisfied != static_cast<std::future_errc>(0), "");
static_assert(std::future_errc::no_state != static_cast<std::future_errc>(0), "");
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.overview/future_status.pass.cpp b/libcxx/test/std/thread/futures/futures.overview/future_status.pass.cpp
index 23c5bac..ceff64f7 100644
--- a/libcxx/test/std/thread/futures/futures.overview/future_status.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.overview/future_status.pass.cpp
@@ -19,9 +19,11 @@
#include <future>
-int main()
+int main(int, char**)
{
static_assert(static_cast<int>(std::future_status::ready) == 0, "");
static_assert(static_cast<int>(std::future_status::timeout) == 1, "");
static_assert(static_cast<int>(std::future_status::deferred) == 2, "");
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.overview/is_error_code_enum_future_errc.pass.cpp b/libcxx/test/std/thread/futures/futures.overview/is_error_code_enum_future_errc.pass.cpp
index f8a0d8a..c7e2c2a 100644
--- a/libcxx/test/std/thread/futures/futures.overview/is_error_code_enum_future_errc.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.overview/is_error_code_enum_future_errc.pass.cpp
@@ -15,10 +15,12 @@
#include <future>
#include "test_macros.h"
-int main()
+int main(int, char**)
{
static_assert(std::is_error_code_enum <std::future_errc>::value, "");
#if TEST_STD_VER > 14
static_assert(std::is_error_code_enum_v<std::future_errc>, "");
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.overview/launch.pass.cpp b/libcxx/test/std/thread/futures/futures.overview/launch.pass.cpp
index 0ed1660..6d405b5 100644
--- a/libcxx/test/std/thread/futures/futures.overview/launch.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.overview/launch.pass.cpp
@@ -22,7 +22,7 @@
#include "test_macros.h"
-int main()
+int main(int, char**)
{
#ifdef _LIBCPP_HAS_NO_STRONG_ENUMS
LIBCPP_STATIC_ASSERT(static_cast<int>(std::launch::any) ==
@@ -43,4 +43,6 @@
#endif
static_assert(static_cast<int>(std::launch::async) == 1, "");
static_assert(static_cast<int>(std::launch::deferred) == 2, "");
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.promise/alloc_ctor.pass.cpp b/libcxx/test/std/thread/futures/futures.promise/alloc_ctor.pass.cpp
index 1ad2952..ece8b94 100644
--- a/libcxx/test/std/thread/futures/futures.promise/alloc_ctor.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.promise/alloc_ctor.pass.cpp
@@ -22,7 +22,7 @@
#include "test_allocator.h"
#include "min_allocator.h"
-int main()
+int main(int, char**)
{
assert(test_alloc_base::alloc_count == 0);
{
@@ -81,4 +81,6 @@
std::future<void> f = p.get_future();
assert(f.valid());
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.promise/copy_assign.fail.cpp b/libcxx/test/std/thread/futures/futures.promise/copy_assign.fail.cpp
index 895ccf7..bf46a68 100644
--- a/libcxx/test/std/thread/futures/futures.promise/copy_assign.fail.cpp
+++ b/libcxx/test/std/thread/futures/futures.promise/copy_assign.fail.cpp
@@ -18,7 +18,7 @@
#include "test_macros.h"
-int main()
+int main(int, char**)
{
#if TEST_STD_VER >= 11
{
@@ -47,4 +47,6 @@
p = p0; // expected-error {{'operator=' is a private member of 'std::__1::promise<void>'}}
}
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.promise/copy_ctor.fail.cpp b/libcxx/test/std/thread/futures/futures.promise/copy_ctor.fail.cpp
index 00af4af..8f90f3d 100644
--- a/libcxx/test/std/thread/futures/futures.promise/copy_ctor.fail.cpp
+++ b/libcxx/test/std/thread/futures/futures.promise/copy_ctor.fail.cpp
@@ -18,7 +18,7 @@
#include "test_macros.h"
-int main()
+int main(int, char**)
{
#if TEST_STD_VER >= 11
{
@@ -47,4 +47,6 @@
std::promise<void> p(p0); // expected-error {{calling a private constructor of class 'std::__1::promise<void>'}}
}
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.promise/default.pass.cpp b/libcxx/test/std/thread/futures/futures.promise/default.pass.cpp
index f0e3a78..600f99d 100644
--- a/libcxx/test/std/thread/futures/futures.promise/default.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.promise/default.pass.cpp
@@ -18,7 +18,7 @@
#include <future>
#include <cassert>
-int main()
+int main(int, char**)
{
{
std::promise<int> p;
@@ -35,4 +35,6 @@
std::future<void> f = p.get_future();
assert(f.valid());
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.promise/dtor.pass.cpp b/libcxx/test/std/thread/futures/futures.promise/dtor.pass.cpp
index 4d3bd9c..49c4b46 100644
--- a/libcxx/test/std/thread/futures/futures.promise/dtor.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.promise/dtor.pass.cpp
@@ -20,7 +20,7 @@
#include "test_macros.h"
-int main()
+int main(int, char**)
{
{
typedef int T;
@@ -123,4 +123,6 @@
}
}
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.promise/get_future.pass.cpp b/libcxx/test/std/thread/futures/futures.promise/get_future.pass.cpp
index 3805a96..6385f63 100644
--- a/libcxx/test/std/thread/futures/futures.promise/get_future.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.promise/get_future.pass.cpp
@@ -20,7 +20,7 @@
#include "test_macros.h"
-int main()
+int main(int, char**)
{
{
std::promise<double> p;
@@ -56,4 +56,6 @@
}
}
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.promise/move_assign.pass.cpp b/libcxx/test/std/thread/futures/futures.promise/move_assign.pass.cpp
index 46860fb..6592e0b 100644
--- a/libcxx/test/std/thread/futures/futures.promise/move_assign.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.promise/move_assign.pass.cpp
@@ -21,7 +21,7 @@
#include "test_macros.h"
#include "test_allocator.h"
-int main()
+int main(int, char**)
{
assert(test_alloc_base::alloc_count == 0);
{
@@ -93,4 +93,6 @@
assert(test_alloc_base::alloc_count == 1);
}
assert(test_alloc_base::alloc_count == 0);
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.promise/move_ctor.pass.cpp b/libcxx/test/std/thread/futures/futures.promise/move_ctor.pass.cpp
index d119b188..1551420 100644
--- a/libcxx/test/std/thread/futures/futures.promise/move_ctor.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.promise/move_ctor.pass.cpp
@@ -21,7 +21,7 @@
#include "test_macros.h"
#include "test_allocator.h"
-int main()
+int main(int, char**)
{
assert(test_alloc_base::alloc_count == 0);
{
@@ -87,4 +87,6 @@
#endif
}
assert(test_alloc_base::alloc_count == 0);
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.promise/set_exception.pass.cpp b/libcxx/test/std/thread/futures/futures.promise/set_exception.pass.cpp
index bb763e9..030620a 100644
--- a/libcxx/test/std/thread/futures/futures.promise/set_exception.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.promise/set_exception.pass.cpp
@@ -19,7 +19,7 @@
#include <future>
#include <cassert>
-int main()
+int main(int, char**)
{
{
typedef int T;
@@ -45,4 +45,6 @@
assert(e.code() == make_error_code(std::future_errc::promise_already_satisfied));
}
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.promise/set_exception_at_thread_exit.pass.cpp b/libcxx/test/std/thread/futures/futures.promise/set_exception_at_thread_exit.pass.cpp
index c464d08..a1a3288 100644
--- a/libcxx/test/std/thread/futures/futures.promise/set_exception_at_thread_exit.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.promise/set_exception_at_thread_exit.pass.cpp
@@ -24,7 +24,7 @@
p.set_exception_at_thread_exit(std::make_exception_ptr(3));
}
-int main()
+int main(int, char**)
{
{
typedef int T;
@@ -41,4 +41,6 @@
assert(i == 3);
}
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.promise/set_lvalue.pass.cpp b/libcxx/test/std/thread/futures/futures.promise/set_lvalue.pass.cpp
index 9b72e48..db8bb57 100644
--- a/libcxx/test/std/thread/futures/futures.promise/set_lvalue.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.promise/set_lvalue.pass.cpp
@@ -20,7 +20,7 @@
#include "test_macros.h"
-int main()
+int main(int, char**)
{
{
typedef int& T;
@@ -44,4 +44,6 @@
}
#endif
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.promise/set_lvalue_at_thread_exit.pass.cpp b/libcxx/test/std/thread/futures/futures.promise/set_lvalue_at_thread_exit.pass.cpp
index 0fa2803..9c3b090 100644
--- a/libcxx/test/std/thread/futures/futures.promise/set_lvalue_at_thread_exit.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.promise/set_lvalue_at_thread_exit.pass.cpp
@@ -27,7 +27,7 @@
i = 4;
}
-int main()
+int main(int, char**)
{
{
std::promise<int&> p;
@@ -35,4 +35,6 @@
std::thread(func, std::move(p)).detach();
assert(f.get() == 4);
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.promise/set_rvalue.pass.cpp b/libcxx/test/std/thread/futures/futures.promise/set_rvalue.pass.cpp
index d0f2bda..7f54baa 100644
--- a/libcxx/test/std/thread/futures/futures.promise/set_rvalue.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.promise/set_rvalue.pass.cpp
@@ -26,7 +26,7 @@
A(A&&) {throw 9;}
};
-int main()
+int main(int, char**)
{
{
typedef std::unique_ptr<int> T;
@@ -60,4 +60,6 @@
assert(j == 9);
}
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.promise/set_rvalue_at_thread_exit.pass.cpp b/libcxx/test/std/thread/futures/futures.promise/set_rvalue_at_thread_exit.pass.cpp
index a557423..bddd661 100644
--- a/libcxx/test/std/thread/futures/futures.promise/set_rvalue_at_thread_exit.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.promise/set_rvalue_at_thread_exit.pass.cpp
@@ -23,7 +23,7 @@
p.set_value_at_thread_exit(std::unique_ptr<int>(new int(5)));
}
-int main()
+int main(int, char**)
{
{
std::promise<std::unique_ptr<int>> p;
@@ -31,4 +31,6 @@
std::thread(func, std::move(p)).detach();
assert(*f.get() == 5);
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.promise/set_value_at_thread_exit_const.pass.cpp b/libcxx/test/std/thread/futures/futures.promise/set_value_at_thread_exit_const.pass.cpp
index 4760611..9258a00 100644
--- a/libcxx/test/std/thread/futures/futures.promise/set_value_at_thread_exit_const.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.promise/set_value_at_thread_exit_const.pass.cpp
@@ -24,7 +24,7 @@
p.set_value_at_thread_exit(i);
}
-int main()
+int main(int, char**)
{
{
std::promise<int> p;
@@ -32,4 +32,6 @@
std::thread(func, std::move(p)).detach();
assert(f.get() == 5);
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.promise/set_value_at_thread_exit_void.pass.cpp b/libcxx/test/std/thread/futures/futures.promise/set_value_at_thread_exit_void.pass.cpp
index e2b8ae9..1a20442 100644
--- a/libcxx/test/std/thread/futures/futures.promise/set_value_at_thread_exit_void.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.promise/set_value_at_thread_exit_void.pass.cpp
@@ -27,7 +27,7 @@
i = 1;
}
-int main()
+int main(int, char**)
{
{
std::promise<void> p;
@@ -36,4 +36,6 @@
f.get();
assert(i == 1);
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.promise/set_value_const.pass.cpp b/libcxx/test/std/thread/futures/futures.promise/set_value_const.pass.cpp
index 9424815..e58d2d2 100644
--- a/libcxx/test/std/thread/futures/futures.promise/set_value_const.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.promise/set_value_const.pass.cpp
@@ -28,7 +28,7 @@
}
};
-int main()
+int main(int, char**)
{
{
typedef int T;
@@ -68,4 +68,6 @@
}
#endif
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.promise/set_value_void.pass.cpp b/libcxx/test/std/thread/futures/futures.promise/set_value_void.pass.cpp
index 330d5b0..d505b3a 100644
--- a/libcxx/test/std/thread/futures/futures.promise/set_value_void.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.promise/set_value_void.pass.cpp
@@ -19,7 +19,7 @@
#include <future>
#include <cassert>
-int main()
+int main(int, char**)
{
{
typedef void T;
@@ -37,4 +37,6 @@
assert(e.code() == make_error_code(std::future_errc::promise_already_satisfied));
}
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.promise/swap.pass.cpp b/libcxx/test/std/thread/futures/futures.promise/swap.pass.cpp
index ec72f87..2b78b1d 100644
--- a/libcxx/test/std/thread/futures/futures.promise/swap.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.promise/swap.pass.cpp
@@ -22,7 +22,7 @@
#include "test_allocator.h"
-int main()
+int main(int, char**)
{
assert(test_alloc_base::alloc_count == 0);
{
@@ -81,4 +81,6 @@
assert(test_alloc_base::alloc_count == 1);
}
assert(test_alloc_base::alloc_count == 0);
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.promise/uses_allocator.pass.cpp b/libcxx/test/std/thread/futures/futures.promise/uses_allocator.pass.cpp
index 928ede9..1a5028b 100644
--- a/libcxx/test/std/thread/futures/futures.promise/uses_allocator.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.promise/uses_allocator.pass.cpp
@@ -19,9 +19,11 @@
#include <future>
#include "test_allocator.h"
-int main()
+int main(int, char**)
{
static_assert((std::uses_allocator<std::promise<int>, test_allocator<int> >::value), "");
static_assert((std::uses_allocator<std::promise<int&>, test_allocator<int> >::value), "");
static_assert((std::uses_allocator<std::promise<void>, test_allocator<void> >::value), "");
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.shared_future/copy_assign.pass.cpp b/libcxx/test/std/thread/futures/futures.shared_future/copy_assign.pass.cpp
index 44c538c..e5cc33a 100644
--- a/libcxx/test/std/thread/futures/futures.shared_future/copy_assign.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.shared_future/copy_assign.pass.cpp
@@ -21,7 +21,7 @@
#include "test_macros.h"
-int main()
+int main(int, char**)
{
{
typedef int T;
@@ -77,4 +77,6 @@
assert(!f0.valid());
assert(!f.valid());
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.shared_future/copy_ctor.pass.cpp b/libcxx/test/std/thread/futures/futures.shared_future/copy_ctor.pass.cpp
index 2878c40..01b5572 100644
--- a/libcxx/test/std/thread/futures/futures.shared_future/copy_ctor.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.shared_future/copy_ctor.pass.cpp
@@ -21,7 +21,7 @@
#include "test_macros.h"
-int main()
+int main(int, char**)
{
{
typedef int T;
@@ -71,4 +71,6 @@
assert(!f0.valid());
assert(!f.valid());
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.shared_future/ctor_future.pass.cpp b/libcxx/test/std/thread/futures/futures.shared_future/ctor_future.pass.cpp
index 10b84a4..b75450c 100644
--- a/libcxx/test/std/thread/futures/futures.shared_future/ctor_future.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.shared_future/ctor_future.pass.cpp
@@ -18,7 +18,7 @@
#include <future>
#include <cassert>
-int main()
+int main(int, char**)
{
{
typedef int T;
@@ -65,4 +65,6 @@
assert(!f0.valid());
assert(!f.valid());
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.shared_future/default.pass.cpp b/libcxx/test/std/thread/futures/futures.shared_future/default.pass.cpp
index 2229ee5..0387b97 100644
--- a/libcxx/test/std/thread/futures/futures.shared_future/default.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.shared_future/default.pass.cpp
@@ -17,7 +17,7 @@
#include <future>
#include <cassert>
-int main()
+int main(int, char**)
{
{
std::shared_future<int> f;
@@ -31,4 +31,6 @@
std::shared_future<void> f;
assert(!f.valid());
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.shared_future/dtor.pass.cpp b/libcxx/test/std/thread/futures/futures.shared_future/dtor.pass.cpp
index 964180b..fe49c22 100644
--- a/libcxx/test/std/thread/futures/futures.shared_future/dtor.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.shared_future/dtor.pass.cpp
@@ -21,7 +21,7 @@
#include "test_allocator.h"
-int main()
+int main(int, char**)
{
assert(test_alloc_base::alloc_count == 0);
{
@@ -66,4 +66,6 @@
assert(f.valid());
}
assert(test_alloc_base::alloc_count == 0);
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.shared_future/get.pass.cpp b/libcxx/test/std/thread/futures/futures.shared_future/get.pass.cpp
index b7767b3..038ca71 100644
--- a/libcxx/test/std/thread/futures/futures.shared_future/get.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.shared_future/get.pass.cpp
@@ -61,7 +61,7 @@
p.set_exception(std::make_exception_ptr('c'));
}
-int main()
+int main(int, char**)
{
{
typedef int T;
@@ -150,4 +150,6 @@
}
#endif
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.shared_future/move_assign.pass.cpp b/libcxx/test/std/thread/futures/futures.shared_future/move_assign.pass.cpp
index b68ee69..3940530 100644
--- a/libcxx/test/std/thread/futures/futures.shared_future/move_assign.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.shared_future/move_assign.pass.cpp
@@ -18,7 +18,7 @@
#include <future>
#include <cassert>
-int main()
+int main(int, char**)
{
{
typedef int T;
@@ -71,4 +71,6 @@
assert(!f0.valid());
assert(!f.valid());
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.shared_future/move_ctor.pass.cpp b/libcxx/test/std/thread/futures/futures.shared_future/move_ctor.pass.cpp
index c2b52dc1..e1d982d 100644
--- a/libcxx/test/std/thread/futures/futures.shared_future/move_ctor.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.shared_future/move_ctor.pass.cpp
@@ -18,7 +18,7 @@
#include <future>
#include <cassert>
-int main()
+int main(int, char**)
{
{
typedef int T;
@@ -65,4 +65,6 @@
assert(!f0.valid());
assert(!f.valid());
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.shared_future/wait.pass.cpp b/libcxx/test/std/thread/futures/futures.shared_future/wait.pass.cpp
index 11dc4ba..f78ca6b 100644
--- a/libcxx/test/std/thread/futures/futures.shared_future/wait.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.shared_future/wait.pass.cpp
@@ -39,7 +39,7 @@
p.set_value();
}
-int main()
+int main(int, char**)
{
typedef std::chrono::high_resolution_clock Clock;
typedef std::chrono::duration<double, std::milli> ms;
@@ -85,4 +85,6 @@
assert(f.valid());
assert(t1-t0 < ms(5));
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.shared_future/wait_for.pass.cpp b/libcxx/test/std/thread/futures/futures.shared_future/wait_for.pass.cpp
index 4fbd8ae..913127af 100644
--- a/libcxx/test/std/thread/futures/futures.shared_future/wait_for.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.shared_future/wait_for.pass.cpp
@@ -43,7 +43,7 @@
p.set_value();
}
-int main()
+int main(int, char**)
{
typedef std::chrono::high_resolution_clock Clock;
{
@@ -94,4 +94,6 @@
assert(f.valid());
assert(t1-t0 < ms(5));
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.shared_future/wait_until.pass.cpp b/libcxx/test/std/thread/futures/futures.shared_future/wait_until.pass.cpp
index 02b0ce7..09787fe 100644
--- a/libcxx/test/std/thread/futures/futures.shared_future/wait_until.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.shared_future/wait_until.pass.cpp
@@ -62,7 +62,7 @@
set_worker_thread_state(WorkerThreadState::Exiting);
}
-int main()
+int main(int, char**)
{
typedef std::chrono::high_resolution_clock Clock;
{
@@ -128,4 +128,6 @@
assert(f.valid());
assert(t1-t0 < ms(5));
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.state/nothing_to_do.pass.cpp b/libcxx/test/std/thread/futures/futures.state/nothing_to_do.pass.cpp
index 02fe32e..779762e 100644
--- a/libcxx/test/std/thread/futures/futures.state/nothing_to_do.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.state/nothing_to_do.pass.cpp
@@ -7,6 +7,8 @@
//
//===----------------------------------------------------------------------===//
-int main()
+int main(int, char**)
{
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.task/futures.task.members/assign_copy.fail.cpp b/libcxx/test/std/thread/futures/futures.task/futures.task.members/assign_copy.fail.cpp
index b14f238..a8b8581 100644
--- a/libcxx/test/std/thread/futures/futures.task/futures.task.members/assign_copy.fail.cpp
+++ b/libcxx/test/std/thread/futures/futures.task/futures.task.members/assign_copy.fail.cpp
@@ -17,10 +17,12 @@
#include <future>
-int main()
+int main(int, char**)
{
{
std::packaged_task<double(int, char)> p0, p;
p = p0; // expected-error {{overload resolution selected deleted operator '='}}
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.task/futures.task.members/assign_move.pass.cpp b/libcxx/test/std/thread/futures/futures.task/futures.task.members/assign_move.pass.cpp
index 655a9d7..9da7a96 100644
--- a/libcxx/test/std/thread/futures/futures.task/futures.task.members/assign_move.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.task/futures.task.members/assign_move.pass.cpp
@@ -28,7 +28,7 @@
long operator()(long i, long j) const {return data_ + i + j;}
};
-int main()
+int main(int, char**)
{
{
std::packaged_task<double(int, char)> p0(A(5));
@@ -47,4 +47,6 @@
assert(!p0.valid());
assert(!p.valid());
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor1.fail.cpp b/libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor1.fail.cpp
index fbe3b55..ec081dc 100644
--- a/libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor1.fail.cpp
+++ b/libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor1.fail.cpp
@@ -25,11 +25,13 @@
typedef volatile std::packaged_task<A(int, char)> VPT;
-int main()
+int main(int, char**)
{
VPT init{};
auto const& c_init = init;
PT p1{init}; // expected-error {{no matching constructor}}
PT p2{c_init}; // expected-error {{no matching constructor}}
PT p3{std::move(init)}; // expected-error {{no matching constructor for initialization of 'PT' (aka 'packaged_task<A (int, char)>')}}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor2.fail.cpp b/libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor2.fail.cpp
index cae4e1a..76273a3 100644
--- a/libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor2.fail.cpp
+++ b/libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor2.fail.cpp
@@ -26,8 +26,10 @@
typedef std::packaged_task<A(int, char)> PT;
typedef volatile std::packaged_task<A(int, char)> VPT;
-int main()
+int main(int, char**)
{
PT p { std::allocator_arg_t{}, test_allocator<A>{}, VPT {}}; // expected-error {{no matching constructor for initialization of 'PT' (aka 'packaged_task<A (int, char)>')}}
// expected-note-re@future:* 1 {{candidate template ignored: {{(disabled by 'enable_if')|(requirement '.*' was not satisfied)}}}}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor_copy.fail.cpp b/libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor_copy.fail.cpp
index 6416df4..0816a1c 100644
--- a/libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor_copy.fail.cpp
+++ b/libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor_copy.fail.cpp
@@ -18,10 +18,12 @@
#include <future>
-int main()
+int main(int, char**)
{
{
std::packaged_task<double(int, char)> p0;
std::packaged_task<double(int, char)> p(p0); // expected-error {{call to deleted constructor of 'std::packaged_task<double (int, char)>'}}
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor_default.pass.cpp b/libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor_default.pass.cpp
index 30c45ea..5472c71 100644
--- a/libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor_default.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor_default.pass.cpp
@@ -20,8 +20,10 @@
struct A {};
-int main()
+int main(int, char**)
{
std::packaged_task<A(int, char)> p;
assert(!p.valid());
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor_func.pass.cpp b/libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor_func.pass.cpp
index 3da276b..20ee8b4 100644
--- a/libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor_func.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor_func.pass.cpp
@@ -39,7 +39,7 @@
int func(int i) { return i; }
-int main()
+int main(int, char**)
{
{
std::packaged_task<double(int, char)> p(A(5));
@@ -76,4 +76,6 @@
p(4);
assert(f.get() == 4);
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor_func_alloc.pass.cpp b/libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor_func_alloc.pass.cpp
index 334ed8f..766987c 100644
--- a/libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor_func_alloc.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor_func_alloc.pass.cpp
@@ -44,7 +44,7 @@
int func(int i) { return i; }
-int main()
+int main(int, char**)
{
{
std::packaged_task<double(int, char)> p(std::allocator_arg,
@@ -123,4 +123,6 @@
}
A::n_copies = 0;
A::n_moves = 0;
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor_move.pass.cpp b/libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor_move.pass.cpp
index e2e4447..c517182 100644
--- a/libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor_move.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor_move.pass.cpp
@@ -28,7 +28,7 @@
long operator()(long i, long j) const {return data_ + i + j;}
};
-int main()
+int main(int, char**)
{
{
std::packaged_task<double(int, char)> p0(A(5));
@@ -45,4 +45,6 @@
assert(!p0.valid());
assert(!p.valid());
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.task/futures.task.members/dtor.pass.cpp b/libcxx/test/std/thread/futures/futures.task/futures.task.members/dtor.pass.cpp
index e910d7c..3b794b7f 100644
--- a/libcxx/test/std/thread/futures/futures.task/futures.task.members/dtor.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.task/futures.task.members/dtor.pass.cpp
@@ -39,7 +39,7 @@
p(3, 'a');
}
-int main()
+int main(int, char**)
{
#ifndef TEST_HAS_NO_EXCEPTIONS
{
@@ -64,4 +64,6 @@
std::thread(func2, std::move(p)).detach();
assert(f.get() == 105.0);
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.task/futures.task.members/get_future.pass.cpp b/libcxx/test/std/thread/futures/futures.task/futures.task.members/get_future.pass.cpp
index a4c9c7a..8713db0 100644
--- a/libcxx/test/std/thread/futures/futures.task/futures.task.members/get_future.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.task/futures.task.members/get_future.pass.cpp
@@ -30,7 +30,7 @@
long operator()(long i, long j) const {return data_ + i + j;}
};
-int main()
+int main(int, char**)
{
{
std::packaged_task<double(int, char)> p(A(5));
@@ -65,4 +65,6 @@
}
}
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.task/futures.task.members/make_ready_at_thread_exit.pass.cpp b/libcxx/test/std/thread/futures/futures.task/futures.task.members/make_ready_at_thread_exit.pass.cpp
index 21a567c..4700995 100644
--- a/libcxx/test/std/thread/futures/futures.task/futures.task.members/make_ready_at_thread_exit.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.task/futures.task.members/make_ready_at_thread_exit.pass.cpp
@@ -80,7 +80,7 @@
#endif
}
-int main()
+int main(int, char**)
{
{
std::packaged_task<double(int, char)> p(A(5));
@@ -115,4 +115,6 @@
t.join();
}
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.task/futures.task.members/operator.pass.cpp b/libcxx/test/std/thread/futures/futures.task/futures.task.members/operator.pass.cpp
index e148ddf..53688805 100644
--- a/libcxx/test/std/thread/futures/futures.task/futures.task.members/operator.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.task/futures.task.members/operator.pass.cpp
@@ -80,7 +80,7 @@
#endif
}
-int main()
+int main(int, char**)
{
{
std::packaged_task<double(int, char)> p(A(5));
@@ -116,4 +116,6 @@
t.join();
}
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.task/futures.task.members/reset.pass.cpp b/libcxx/test/std/thread/futures/futures.task/futures.task.members/reset.pass.cpp
index 7e4dd55..e9f59cd 100644
--- a/libcxx/test/std/thread/futures/futures.task/futures.task.members/reset.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.task/futures.task.members/reset.pass.cpp
@@ -33,7 +33,7 @@
}
};
-int main()
+int main(int, char**)
{
{
std::packaged_task<double(int, char)> p(A(5));
@@ -59,4 +59,6 @@
}
}
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.task/futures.task.members/swap.pass.cpp b/libcxx/test/std/thread/futures/futures.task/futures.task.members/swap.pass.cpp
index 22e680f..2cd9790 100644
--- a/libcxx/test/std/thread/futures/futures.task/futures.task.members/swap.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.task/futures.task.members/swap.pass.cpp
@@ -28,7 +28,7 @@
long operator()(long i, long j) const {return data_ + i + j;}
};
-int main()
+int main(int, char**)
{
{
std::packaged_task<double(int, char)> p0(A(5));
@@ -47,4 +47,6 @@
assert(!p0.valid());
assert(!p.valid());
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.task/futures.task.nonmembers/swap.pass.cpp b/libcxx/test/std/thread/futures/futures.task/futures.task.nonmembers/swap.pass.cpp
index b344398..8c1c19e 100644
--- a/libcxx/test/std/thread/futures/futures.task/futures.task.nonmembers/swap.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.task/futures.task.nonmembers/swap.pass.cpp
@@ -30,7 +30,7 @@
long operator()(long i, long j) const {return data_ + i + j;}
};
-int main()
+int main(int, char**)
{
{
std::packaged_task<double(int, char)> p0(A(5));
@@ -49,4 +49,6 @@
assert(!p0.valid());
assert(!p.valid());
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.task/futures.task.nonmembers/uses_allocator.pass.cpp b/libcxx/test/std/thread/futures/futures.task/futures.task.nonmembers/uses_allocator.pass.cpp
index 24727b5..5257a70 100644
--- a/libcxx/test/std/thread/futures/futures.task/futures.task.nonmembers/uses_allocator.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.task/futures.task.nonmembers/uses_allocator.pass.cpp
@@ -27,7 +27,9 @@
#include <future>
#include "test_allocator.h"
-int main()
+int main(int, char**)
{
static_assert((std::uses_allocator<std::packaged_task<double(int, char)>, test_allocator<int> >::value), "");
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.unique_future/copy_assign.fail.cpp b/libcxx/test/std/thread/futures/futures.unique_future/copy_assign.fail.cpp
index 63e92f0..3a1a4d6 100644
--- a/libcxx/test/std/thread/futures/futures.unique_future/copy_assign.fail.cpp
+++ b/libcxx/test/std/thread/futures/futures.unique_future/copy_assign.fail.cpp
@@ -18,7 +18,7 @@
#include "test_macros.h"
-int main()
+int main(int, char**)
{
#if TEST_STD_VER >= 11
{
@@ -47,4 +47,6 @@
f = f0; // expected-error {{'operator=' is a private member of 'std::__1::future<void>'}}
}
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.unique_future/copy_ctor.fail.cpp b/libcxx/test/std/thread/futures/futures.unique_future/copy_ctor.fail.cpp
index 0d1a588..4a8b98c 100644
--- a/libcxx/test/std/thread/futures/futures.unique_future/copy_ctor.fail.cpp
+++ b/libcxx/test/std/thread/futures/futures.unique_future/copy_ctor.fail.cpp
@@ -18,7 +18,7 @@
#include "test_macros.h"
-int main()
+int main(int, char**)
{
#if TEST_STD_VER >= 11
{
@@ -47,4 +47,6 @@
std::future<void> f = f0; // expected-error {{calling a private constructor of class 'std::__1::future<void>'}}
}
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.unique_future/default.pass.cpp b/libcxx/test/std/thread/futures/futures.unique_future/default.pass.cpp
index 0f11aa3..60ef645 100644
--- a/libcxx/test/std/thread/futures/futures.unique_future/default.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.unique_future/default.pass.cpp
@@ -17,7 +17,7 @@
#include <future>
#include <cassert>
-int main()
+int main(int, char**)
{
{
std::future<int> f;
@@ -31,4 +31,6 @@
std::future<void> f;
assert(!f.valid());
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.unique_future/dtor.pass.cpp b/libcxx/test/std/thread/futures/futures.unique_future/dtor.pass.cpp
index 4105d3f..ec27219 100644
--- a/libcxx/test/std/thread/futures/futures.unique_future/dtor.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.unique_future/dtor.pass.cpp
@@ -21,7 +21,7 @@
#include "test_allocator.h"
-int main()
+int main(int, char**)
{
assert(test_alloc_base::alloc_count == 0);
{
@@ -66,4 +66,6 @@
assert(f.valid());
}
assert(test_alloc_base::alloc_count == 0);
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.unique_future/get.pass.cpp b/libcxx/test/std/thread/futures/futures.unique_future/get.pass.cpp
index 3d50d89..2e3e326 100644
--- a/libcxx/test/std/thread/futures/futures.unique_future/get.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.unique_future/get.pass.cpp
@@ -61,7 +61,7 @@
p.set_exception(std::make_exception_ptr('c'));
}
-int main()
+int main(int, char**)
{
{
typedef int T;
@@ -150,4 +150,6 @@
}
#endif
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.unique_future/move_assign.pass.cpp b/libcxx/test/std/thread/futures/futures.unique_future/move_assign.pass.cpp
index 7d2ad621..b0f0e2b 100644
--- a/libcxx/test/std/thread/futures/futures.unique_future/move_assign.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.unique_future/move_assign.pass.cpp
@@ -17,7 +17,7 @@
#include <future>
#include <cassert>
-int main()
+int main(int, char**)
{
{
typedef int T;
@@ -70,4 +70,6 @@
assert(!f0.valid());
assert(!f.valid());
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.unique_future/move_ctor.pass.cpp b/libcxx/test/std/thread/futures/futures.unique_future/move_ctor.pass.cpp
index 0b0e491..aca5dda 100644
--- a/libcxx/test/std/thread/futures/futures.unique_future/move_ctor.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.unique_future/move_ctor.pass.cpp
@@ -17,7 +17,7 @@
#include <future>
#include <cassert>
-int main()
+int main(int, char**)
{
{
typedef int T;
@@ -64,4 +64,6 @@
assert(!f0.valid());
assert(!f.valid());
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.unique_future/share.pass.cpp b/libcxx/test/std/thread/futures/futures.unique_future/share.pass.cpp
index 392a43a4..979f93c 100644
--- a/libcxx/test/std/thread/futures/futures.unique_future/share.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.unique_future/share.pass.cpp
@@ -18,7 +18,7 @@
#include <future>
#include <cassert>
-int main()
+int main(int, char**)
{
{
typedef int T;
@@ -71,4 +71,6 @@
assert(!f0.valid());
assert(!f.valid());
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.unique_future/wait.pass.cpp b/libcxx/test/std/thread/futures/futures.unique_future/wait.pass.cpp
index 0ec23f2..11fc808 100644
--- a/libcxx/test/std/thread/futures/futures.unique_future/wait.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.unique_future/wait.pass.cpp
@@ -39,7 +39,7 @@
p.set_value();
}
-int main()
+int main(int, char**)
{
typedef std::chrono::high_resolution_clock Clock;
typedef std::chrono::duration<double, std::milli> ms;
@@ -85,4 +85,6 @@
assert(f.valid());
assert(t1-t0 < ms(5));
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.unique_future/wait_for.pass.cpp b/libcxx/test/std/thread/futures/futures.unique_future/wait_for.pass.cpp
index 5b8a01a..91f962f 100644
--- a/libcxx/test/std/thread/futures/futures.unique_future/wait_for.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.unique_future/wait_for.pass.cpp
@@ -43,7 +43,7 @@
p.set_value();
}
-int main()
+int main(int, char**)
{
typedef std::chrono::high_resolution_clock Clock;
{
@@ -94,4 +94,6 @@
assert(f.valid());
assert(t1-t0 < ms(50));
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/futures/futures.unique_future/wait_until.pass.cpp b/libcxx/test/std/thread/futures/futures.unique_future/wait_until.pass.cpp
index 79da1c0..28d9b63 100644
--- a/libcxx/test/std/thread/futures/futures.unique_future/wait_until.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.unique_future/wait_until.pass.cpp
@@ -60,7 +60,7 @@
set_worker_thread_state(WorkerThreadState::Exiting);
}
-int main()
+int main(int, char**)
{
typedef std::chrono::high_resolution_clock Clock;
{
@@ -126,4 +126,6 @@
assert(f.valid());
assert(t1-t0 < ms(5));
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/macro.pass.cpp b/libcxx/test/std/thread/macro.pass.cpp
index bfae0bb..640db4a 100644
--- a/libcxx/test/std/thread/macro.pass.cpp
+++ b/libcxx/test/std/thread/macro.pass.cpp
@@ -14,9 +14,11 @@
#include <thread>
-int main()
+int main(int, char**)
{
#ifndef __STDCPP_THREADS__
#error __STDCPP_THREADS__ is not defined
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.condition/cv_status.pass.cpp b/libcxx/test/std/thread/thread.condition/cv_status.pass.cpp
index af8a10a..af980c3 100644
--- a/libcxx/test/std/thread/thread.condition/cv_status.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/cv_status.pass.cpp
@@ -15,8 +15,10 @@
#include <condition_variable>
#include <cassert>
-int main()
+int main(int, char**)
{
assert(static_cast<int>(std::cv_status::no_timeout) == 0);
assert(static_cast<int>(std::cv_status::timeout) == 1);
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.condition/notify_all_at_thread_exit.pass.cpp b/libcxx/test/std/thread/thread.condition/notify_all_at_thread_exit.pass.cpp
index 22fbc98..9a0e51e 100644
--- a/libcxx/test/std/thread/thread.condition/notify_all_at_thread_exit.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/notify_all_at_thread_exit.pass.cpp
@@ -36,7 +36,7 @@
std::this_thread::sleep_for(ms(300));
}
-int main()
+int main(int, char**)
{
std::unique_lock<std::mutex> lk(mut);
std::thread t(func);
@@ -45,4 +45,6 @@
Clock::time_point t1 = Clock::now();
assert(t1-t0 > ms(250));
t.join();
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvar/assign.fail.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvar/assign.fail.cpp
index e308b20..a367051 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvar/assign.fail.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvar/assign.fail.cpp
@@ -15,9 +15,11 @@
#include <condition_variable>
#include <cassert>
-int main()
+int main(int, char**)
{
std::condition_variable cv0;
std::condition_variable cv1;
cv1 = cv0;
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvar/copy.fail.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvar/copy.fail.cpp
index d0c4c653..f9d6076 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvar/copy.fail.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvar/copy.fail.cpp
@@ -15,8 +15,10 @@
#include <condition_variable>
#include <cassert>
-int main()
+int main(int, char**)
{
std::condition_variable cv0;
std::condition_variable cv1(cv0);
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvar/default.pass.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvar/default.pass.cpp
index 879d3c7..aab97f9 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvar/default.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvar/default.pass.cpp
@@ -17,7 +17,9 @@
#include <condition_variable>
#include <cassert>
-int main()
+int main(int, char**)
{
std::condition_variable cv;
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvar/destructor.pass.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvar/destructor.pass.cpp
index 85c83f9..6550109 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvar/destructor.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvar/destructor.pass.cpp
@@ -43,7 +43,7 @@
cv->wait(lk);
}
-int main()
+int main(int, char**)
{
cv = new std::condition_variable;
std::thread th2(g);
@@ -54,4 +54,6 @@
std::thread th1(f);
th1.join();
th2.join();
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvar/notify_all.pass.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvar/notify_all.pass.cpp
index c281a9d..46c53a8 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvar/notify_all.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvar/notify_all.pass.cpp
@@ -46,7 +46,7 @@
test2 = 2;
}
-int main()
+int main(int, char**)
{
std::thread t1(f1);
std::thread t2(f2);
@@ -65,4 +65,6 @@
t2.join();
assert(test1 == 2);
assert(test2 == 2);
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvar/notify_one.pass.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvar/notify_one.pass.cpp
index f72d36e..eb1de67 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvar/notify_one.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvar/notify_one.pass.cpp
@@ -47,7 +47,7 @@
test2 = 2;
}
-int main()
+int main(int, char**)
{
std::thread t1(f1);
std::thread t2(f2);
@@ -95,4 +95,6 @@
}
else
assert(false);
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait.pass.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait.pass.cpp
index a342074..03bcfee 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait.pass.cpp
@@ -36,7 +36,7 @@
assert(test2 != 0);
}
-int main()
+int main(int, char**)
{
std::unique_lock<std::mutex>lk(mut);
std::thread t(f);
@@ -48,4 +48,6 @@
lk.unlock();
cv.notify_one();
t.join();
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp
index f34b230..505997f 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp
@@ -59,7 +59,7 @@
++runs;
}
-int main()
+int main(int, char**)
{
{
std::unique_lock<std::mutex>lk(mut);
@@ -85,4 +85,6 @@
lk.unlock();
t.join();
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for_pred.pass.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for_pred.pass.cpp
index a61b000..e92ce45 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for_pred.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for_pred.pass.cpp
@@ -66,7 +66,7 @@
++runs;
}
-int main()
+int main(int, char**)
{
{
std::unique_lock<std::mutex>lk(mut);
@@ -92,4 +92,6 @@
lk.unlock();
t.join();
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_pred.pass.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_pred.pass.cpp
index f99436a..0de8524 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_pred.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_pred.pass.cpp
@@ -46,7 +46,7 @@
assert(test2 != 0);
}
-int main()
+int main(int, char**)
{
std::unique_lock<std::mutex>lk(mut);
std::thread t(f);
@@ -58,4 +58,6 @@
lk.unlock();
cv.notify_one();
t.join();
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_until.pass.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_until.pass.cpp
index f954ae2..7f1bdf8 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_until.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_until.pass.cpp
@@ -72,7 +72,7 @@
++runs;
}
-int main()
+int main(int, char**)
{
{
std::unique_lock<std::mutex>lk(mut);
@@ -98,4 +98,6 @@
lk.unlock();
t.join();
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_until_pred.pass.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_until_pred.pass.cpp
index 8307a52..f21b1b5 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_until_pred.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_until_pred.pass.cpp
@@ -85,7 +85,7 @@
++runs;
}
-int main()
+int main(int, char**)
{
{
std::unique_lock<std::mutex>lk(mut);
@@ -111,4 +111,6 @@
lk.unlock();
t.join();
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/assign.fail.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/assign.fail.cpp
index 214164e..0c2adc9 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/assign.fail.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/assign.fail.cpp
@@ -15,9 +15,11 @@
#include <condition_variable>
#include <cassert>
-int main()
+int main(int, char**)
{
std::condition_variable_any cv0;
std::condition_variable_any cv1;
cv1 = cv0;
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/copy.fail.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/copy.fail.cpp
index 6eafc62..5aff93b 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/copy.fail.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/copy.fail.cpp
@@ -15,8 +15,10 @@
#include <condition_variable>
#include <cassert>
-int main()
+int main(int, char**)
{
std::condition_variable_any cv0;
std::condition_variable_any cv1(cv0);
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/default.pass.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/default.pass.cpp
index 05ebff0..0c35da0 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/default.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/default.pass.cpp
@@ -17,7 +17,9 @@
#include <condition_variable>
#include <cassert>
-int main()
+int main(int, char**)
{
std::condition_variable_any cv;
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/destructor.pass.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/destructor.pass.cpp
index 57b3024..35580d4 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/destructor.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/destructor.pass.cpp
@@ -44,7 +44,7 @@
m.unlock();
}
-int main()
+int main(int, char**)
{
cv = new std::condition_variable_any;
std::thread th2(g);
@@ -55,4 +55,6 @@
std::thread th1(f);
th1.join();
th2.join();
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/notify_all.pass.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/notify_all.pass.cpp
index cb79d8a..d12c9360 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/notify_all.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/notify_all.pass.cpp
@@ -50,7 +50,7 @@
test2 = 2;
}
-int main()
+int main(int, char**)
{
std::thread t1(f1);
std::thread t2(f2);
@@ -69,4 +69,6 @@
t2.join();
assert(test1 == 2);
assert(test2 == 2);
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/notify_one.pass.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/notify_one.pass.cpp
index e5c0a09..27a0f87 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/notify_one.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/notify_one.pass.cpp
@@ -52,7 +52,7 @@
test2 = 2;
}
-int main()
+int main(int, char**)
{
std::thread t1(f1);
std::thread t2(f2);
@@ -96,4 +96,6 @@
}
else
assert(false);
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait.pass.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait.pass.cpp
index 741094b..a3b2e87 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait.pass.cpp
@@ -41,7 +41,7 @@
assert(test2 != 0);
}
-int main()
+int main(int, char**)
{
L1 lk(m0);
std::thread t(f);
@@ -53,4 +53,6 @@
lk.unlock();
cv.notify_one();
t.join();
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for.pass.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for.pass.cpp
index ec4eb33..d472a69 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for.pass.cpp
@@ -62,7 +62,7 @@
++runs;
}
-int main()
+int main(int, char**)
{
{
L1 lk(m0);
@@ -88,4 +88,6 @@
lk.unlock();
t.join();
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for_pred.pass.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for_pred.pass.cpp
index 81d6986..cbf0193 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for_pred.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for_pred.pass.cpp
@@ -70,7 +70,7 @@
++runs;
}
-int main()
+int main(int, char**)
{
{
expect_result = true;
@@ -98,4 +98,6 @@
lk.unlock();
t.join();
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_pred.pass.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_pred.pass.cpp
index d76cbd4..eafc434 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_pred.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_pred.pass.cpp
@@ -50,7 +50,7 @@
assert(test2 != 0);
}
-int main()
+int main(int, char**)
{
L1 lk(m0);
std::thread t(f);
@@ -62,4 +62,6 @@
lk.unlock();
cv.notify_one();
t.join();
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_terminates.sh.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_terminates.sh.cpp
index 796b66e..8afa051 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_terminates.sh.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_terminates.sh.cpp
@@ -109,7 +109,7 @@
typedef std::chrono::system_clock Clock;
typedef std::chrono::milliseconds MS;
-int main(int argc, char** argv) {
+int main(int argc, char **argv) {
assert(argc == 2);
int id = std::stoi(argv[1]);
assert(id >= 1 && id <= 6);
@@ -130,4 +130,6 @@
}
} catch (...) {}
assert(false);
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_until.pass.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_until.pass.cpp
index 2765973..e149449 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_until.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_until.pass.cpp
@@ -75,7 +75,7 @@
++runs;
}
-int main()
+int main(int, char**)
{
{
L1 lk(m0);
@@ -101,4 +101,6 @@
lk.unlock();
t.join();
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_until_pred.pass.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_until_pred.pass.cpp
index 0216688..5eb253a 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_until_pred.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_until_pred.pass.cpp
@@ -89,7 +89,7 @@
++runs;
}
-int main()
+int main(int, char**)
{
{
L1 lk(m0);
@@ -115,4 +115,6 @@
lk.unlock();
t.join();
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.general/nothing_to_do.pass.cpp b/libcxx/test/std/thread/thread.general/nothing_to_do.pass.cpp
index f77636c..1f764da 100644
--- a/libcxx/test/std/thread/thread.general/nothing_to_do.pass.cpp
+++ b/libcxx/test/std/thread/thread.general/nothing_to_do.pass.cpp
@@ -6,6 +6,8 @@
//
//===----------------------------------------------------------------------===//
-int main()
+int main(int, char**)
{
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock.algorithm/lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock.algorithm/lock.pass.cpp
index 1c7de83..207b075 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock.algorithm/lock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock.algorithm/lock.pass.cpp
@@ -92,7 +92,7 @@
bool locked() const {return locked_;}
};
-int main()
+int main(int, char**)
{
{
L0 l0;
@@ -518,4 +518,6 @@
}
#endif // TEST_HAS_NO_EXCEPTIONS
#endif // TEST_STD_VER >= 11
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock.algorithm/try_lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock.algorithm/try_lock.pass.cpp
index 7856ab9..50ff29c 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock.algorithm/try_lock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock.algorithm/try_lock.pass.cpp
@@ -72,7 +72,7 @@
bool locked() const {return locked_;}
};
-int main()
+int main(int, char**)
{
{
L0 l0;
@@ -522,4 +522,6 @@
assert(!l3.locked());
}
#endif // TEST_STD_VER >= 11
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/adopt_lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/adopt_lock.pass.cpp
index 273a488..fc76eb3 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/adopt_lock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/adopt_lock.pass.cpp
@@ -42,11 +42,13 @@
assert(d < ms(50)); // within 50ms
}
-int main()
+int main(int, char**)
{
m.lock();
std::thread t(f);
std::this_thread::sleep_for(ms(250));
m.unlock();
t.join();
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/assign.fail.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/assign.fail.cpp
index b22e0db..2d0f438 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/assign.fail.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/assign.fail.cpp
@@ -14,11 +14,13 @@
#include <mutex>
-int main()
+int main(int, char**)
{
std::mutex m0;
std::mutex m1;
std::lock_guard<std::mutex> lg0(m0);
std::lock_guard<std::mutex> lg(m1);
lg = lg0;
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/copy.fail.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/copy.fail.cpp
index 1852db1..e99517e 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/copy.fail.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/copy.fail.cpp
@@ -14,9 +14,11 @@
#include <mutex>
-int main()
+int main(int, char**)
{
std::mutex m;
std::lock_guard<std::mutex> lg0(m);
std::lock_guard<std::mutex> lg(lg0);
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/mutex.fail.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/mutex.fail.cpp
index 52a0397..383c153 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/mutex.fail.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/mutex.fail.cpp
@@ -16,8 +16,10 @@
#include <mutex>
-int main()
+int main(int, char**)
{
std::mutex m;
std::lock_guard<std::mutex> lg = m; // expected-error{{no viable conversion}}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/mutex.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/mutex.pass.cpp
index 8435348..fa6aa46 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/mutex.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/mutex.pass.cpp
@@ -46,7 +46,7 @@
assert(d < ms(200)); // within 200ms
}
-int main()
+int main(int, char**)
{
m.lock();
std::thread t(f);
@@ -58,4 +58,6 @@
std::lock_guard lg(m);
static_assert((std::is_same<decltype(lg), std::lock_guard<decltype(m)>>::value), "" );
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/types.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/types.pass.cpp
index 745633b..b9cdb4d 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/types.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/types.pass.cpp
@@ -21,8 +21,10 @@
#include <mutex>
#include <type_traits>
-int main()
+int main(int, char**)
{
static_assert((std::is_same<std::lock_guard<std::mutex>::mutex_type,
std::mutex>::value), "");
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/adopt_lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/adopt_lock.pass.cpp
index edaf09c..63e0626 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/adopt_lock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/adopt_lock.pass.cpp
@@ -31,7 +31,7 @@
TestMutex& operator=(TestMutex const&) = delete;
};
-int main()
+int main(int, char**)
{
{
using LG = std::scoped_lock<>;
@@ -68,4 +68,6 @@
assert(!m1.locked && !m2.locked && !m3.locked);
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/assign.fail.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/assign.fail.cpp
index d88b4de..66a68bb 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/assign.fail.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/assign.fail.cpp
@@ -18,7 +18,7 @@
#include <mutex>
#include "test_macros.h"
-int main()
+int main(int, char**)
{
using M = std::mutex;
M m0, m1, m2;
@@ -46,4 +46,6 @@
LG lg2(om0, om1, om2);
lg1 = lg2; // expected-error{{overload resolution selected deleted operator '='}}
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/copy.fail.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/copy.fail.cpp
index 1693873..3829d15 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/copy.fail.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/copy.fail.cpp
@@ -18,7 +18,7 @@
#include <mutex>
#include "test_macros.h"
-int main()
+int main(int, char**)
{
using M = std::mutex;
M m0, m1, m2;
@@ -42,4 +42,6 @@
const LG Orig(m0, m1, m2);
LG Copy(Orig); // expected-error{{call to deleted constructor of 'LG'}}
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/mutex.fail.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/mutex.fail.cpp
index 4f25ec2..0c92588 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/mutex.fail.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/mutex.fail.cpp
@@ -21,7 +21,7 @@
template <class LG>
void test_conversion(LG) {}
-int main()
+int main(int, char**)
{
using M = std::mutex;
M m0, m1, m2;
@@ -49,4 +49,6 @@
LG lg = {m0, m1, m2}; // expected-error{{chosen constructor is explicit in copy-initialization}}
test_conversion<LG>({n0, n1, n2}); // expected-error{{no matching function for call}}
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/mutex.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/mutex.pass.cpp
index 219c389..3a633c3 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/mutex.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/mutex.pass.cpp
@@ -61,7 +61,7 @@
};
#endif // !defined(TEST_HAS_NO_EXCEPTIONS)
-int main()
+int main(int, char**)
{
{
using LG = std::scoped_lock<>;
@@ -151,4 +151,6 @@
}
}
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/types.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/types.pass.cpp
index 5228cce..62621fc 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/types.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/types.pass.cpp
@@ -36,7 +36,7 @@
return !std::is_same<decltype(test_typedef<LG>(0)), NAT>::value;
}
-int main()
+int main(int, char**)
{
{
using T = std::scoped_lock<>;
@@ -74,4 +74,6 @@
using T = std::scoped_lock<M1, M1, M1>;
static_assert(!has_mutex_type<T>(), "");
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/copy_assign.fail.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/copy_assign.fail.cpp
index ff6c376..1b31fbc 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/copy_assign.fail.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/copy_assign.fail.cpp
@@ -18,9 +18,11 @@
std::shared_timed_mutex m0;
std::shared_timed_mutex m1;
-int main()
+int main(int, char**)
{
std::shared_lock<std::shared_timed_mutex> lk0(m0);
std::shared_lock<std::shared_timed_mutex> lk1(m1);
lk1 = lk0;
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/copy_ctor.fail.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/copy_ctor.fail.cpp
index 6f1f2e9..48da3c7 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/copy_ctor.fail.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/copy_ctor.fail.cpp
@@ -17,8 +17,10 @@
std::shared_timed_mutex m;
-int main()
+int main(int, char**)
{
std::shared_lock<std::shared_timed_mutex> lk0(m);
std::shared_lock<std::shared_timed_mutex> lk = lk0;
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/default.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/default.pass.cpp
index 2d571cb..0543ae7 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/default.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/default.pass.cpp
@@ -18,9 +18,11 @@
#include <shared_mutex>
#include <cassert>
-int main()
+int main(int, char**)
{
std::shared_lock<std::shared_timed_mutex> ul;
assert(!ul.owns_lock());
assert(ul.mutex() == nullptr);
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/move_assign.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/move_assign.pass.cpp
index 9609484..999d65f 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/move_assign.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/move_assign.pass.cpp
@@ -20,7 +20,7 @@
#include "nasty_containers.hpp"
-int main()
+int main(int, char**)
{
{
typedef std::shared_timed_mutex M;
@@ -46,4 +46,6 @@
assert(lk0.mutex() == nullptr);
assert(lk0.owns_lock() == false);
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/move_ctor.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/move_ctor.pass.cpp
index 6be2e77..1f61e21 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/move_ctor.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/move_ctor.pass.cpp
@@ -19,7 +19,7 @@
#include <cassert>
#include "nasty_containers.hpp"
-int main()
+int main(int, char**)
{
{
typedef std::shared_timed_mutex M;
@@ -41,4 +41,6 @@
assert(lk0.mutex() == nullptr);
assert(lk0.owns_lock() == false);
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex.pass.cpp
index 1204eb1..14c084f 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex.pass.cpp
@@ -71,7 +71,7 @@
assert(d < Tolerance); // within tolerance
}
-int main()
+int main(int, char**)
{
std::vector<std::thread> v;
{
@@ -99,4 +99,6 @@
std::shared_lock sl(m);
static_assert((std::is_same<decltype(sl), std::shared_lock<decltype(m)>>::value), "" );
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_adopt_lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_adopt_lock.pass.cpp
index 2b5fae2..86d54b5 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_adopt_lock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_adopt_lock.pass.cpp
@@ -19,7 +19,7 @@
#include <cassert>
#include "nasty_containers.hpp"
-int main()
+int main(int, char**)
{
{
typedef std::shared_timed_mutex M;
@@ -37,4 +37,6 @@
assert(lk.mutex() == std::addressof(m));
assert(lk.owns_lock() == true);
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_defer_lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_defer_lock.pass.cpp
index c7d0a19..5a085d2 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_defer_lock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_defer_lock.pass.cpp
@@ -19,7 +19,7 @@
#include <cassert>
#include "nasty_containers.hpp"
-int main()
+int main(int, char**)
{
{
typedef std::shared_timed_mutex M;
@@ -35,4 +35,6 @@
assert(lk.mutex() == std::addressof(m));
assert(lk.owns_lock() == false);
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_duration.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_duration.pass.cpp
index f633c2e..3228f93 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_duration.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_duration.pass.cpp
@@ -66,7 +66,7 @@
assert(d < Tolerance); // within 50ms
}
-int main()
+int main(int, char**)
{
{
m.lock();
@@ -88,4 +88,6 @@
for (auto& t : v)
t.join();
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_time_point.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_time_point.pass.cpp
index c899cea..f62e739 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_time_point.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_time_point.pass.cpp
@@ -65,7 +65,7 @@
assert(d < Tolerance); // within 50ms
}
-int main()
+int main(int, char**)
{
{
m.lock();
@@ -87,4 +87,6 @@
for (auto& t : v)
t.join();
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_try_to_lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_try_to_lock.pass.cpp
index 4375a2b..7dd7c16 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_try_to_lock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_try_to_lock.pass.cpp
@@ -57,7 +57,7 @@
assert(d < ms(200)); // within 200ms
}
-int main()
+int main(int, char**)
{
m.lock();
std::vector<std::thread> v;
@@ -67,4 +67,6 @@
m.unlock();
for (auto& t : v)
t.join();
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp
index 7726337..5f084b2 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp
@@ -80,7 +80,7 @@
#endif
}
-int main()
+int main(int, char**)
{
m.lock();
std::vector<std::thread> v;
@@ -90,4 +90,6 @@
m.unlock();
for (auto& t : v)
t.join();
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/try_lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/try_lock.pass.cpp
index 884dd47..4882606 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/try_lock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/try_lock.pass.cpp
@@ -34,7 +34,7 @@
mutex m;
-int main()
+int main(int, char**)
{
std::shared_lock<mutex> lk(m, std::defer_lock);
assert(lk.try_lock() == true);
@@ -67,4 +67,6 @@
assert(e.code().value() == EPERM);
}
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/try_lock_for.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/try_lock_for.pass.cpp
index e6df4f1..b2c1776 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/try_lock_for.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/try_lock_for.pass.cpp
@@ -39,7 +39,7 @@
mutex m;
-int main()
+int main(int, char**)
{
std::shared_lock<mutex> lk(m, std::defer_lock);
assert(lk.try_lock_for(ms(5)) == true);
@@ -72,4 +72,6 @@
assert(e.code().value() == EPERM);
}
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/try_lock_until.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/try_lock_until.pass.cpp
index 74e0ecc..59bcd4a 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/try_lock_until.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/try_lock_until.pass.cpp
@@ -38,7 +38,7 @@
mutex m;
-int main()
+int main(int, char**)
{
typedef std::chrono::steady_clock Clock;
std::shared_lock<mutex> lk(m, std::defer_lock);
@@ -72,4 +72,6 @@
assert(e.code().value() == EPERM);
}
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/unlock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/unlock.pass.cpp
index 6c10047..b0e337bd 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/unlock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/unlock.pass.cpp
@@ -30,7 +30,7 @@
mutex m;
-int main()
+int main(int, char**)
{
std::shared_lock<mutex> lk(m);
lk.unlock();
@@ -59,4 +59,6 @@
assert(e.code().value() == EPERM);
}
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.mod/member_swap.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.mod/member_swap.pass.cpp
index 22eb3ee..ce385dd 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.mod/member_swap.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.mod/member_swap.pass.cpp
@@ -26,7 +26,7 @@
mutex m;
-int main()
+int main(int, char**)
{
std::shared_lock<mutex> lk1(m);
std::shared_lock<mutex> lk2;
@@ -36,4 +36,6 @@
assert(lk2.mutex() == &m);
assert(lk2.owns_lock() == true);
static_assert(noexcept(lk1.swap(lk2)), "member swap must be noexcept");
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.mod/nonmember_swap.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.mod/nonmember_swap.pass.cpp
index 65e05d3..cec13f0 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.mod/nonmember_swap.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.mod/nonmember_swap.pass.cpp
@@ -27,7 +27,7 @@
mutex m;
-int main()
+int main(int, char**)
{
std::shared_lock<mutex> lk1(m);
std::shared_lock<mutex> lk2;
@@ -37,4 +37,6 @@
assert(lk2.mutex() == &m);
assert(lk2.owns_lock() == true);
static_assert(noexcept(swap(lk1, lk2)), "non-member swap must be noexcept");
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.mod/release.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.mod/release.pass.cpp
index d387a83..f2e5820 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.mod/release.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.mod/release.pass.cpp
@@ -31,7 +31,7 @@
mutex m;
-int main()
+int main(int, char**)
{
std::shared_lock<mutex> lk(m);
assert(lk.mutex() == &m);
@@ -44,4 +44,6 @@
assert(mutex::lock_count == 1);
assert(mutex::unlock_count == 0);
static_assert(noexcept(lk.release()), "release must be noexcept");
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.obs/mutex.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.obs/mutex.pass.cpp
index 2868595..867bae0 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.obs/mutex.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.obs/mutex.pass.cpp
@@ -20,7 +20,7 @@
std::shared_timed_mutex m;
-int main()
+int main(int, char**)
{
std::shared_lock<std::shared_timed_mutex> lk0;
assert(lk0.mutex() == nullptr);
@@ -29,4 +29,6 @@
lk1.unlock();
assert(lk1.mutex() == &m);
static_assert(noexcept(lk0.mutex()), "mutex() must be noexcept");
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.obs/op_bool.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.obs/op_bool.pass.cpp
index 1064d72..82d737e 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.obs/op_bool.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.obs/op_bool.pass.cpp
@@ -20,7 +20,7 @@
std::shared_timed_mutex m;
-int main()
+int main(int, char**)
{
std::shared_lock<std::shared_timed_mutex> lk0;
assert(static_cast<bool>(lk0) == false);
@@ -29,4 +29,6 @@
lk1.unlock();
assert(static_cast<bool>(lk1) == false);
static_assert(noexcept(static_cast<bool>(lk0)), "explicit operator bool() must be noexcept");
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.obs/owns_lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.obs/owns_lock.pass.cpp
index 36a2c0f..f949684 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.obs/owns_lock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.obs/owns_lock.pass.cpp
@@ -20,7 +20,7 @@
std::shared_timed_mutex m;
-int main()
+int main(int, char**)
{
std::shared_lock<std::shared_timed_mutex> lk0;
assert(lk0.owns_lock() == false);
@@ -29,4 +29,6 @@
lk1.unlock();
assert(lk1.owns_lock() == false);
static_assert(noexcept(lk0.owns_lock()), "owns_lock must be noexcept");
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/types.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/types.pass.cpp
index c5be52a..44d19e8 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/types.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/types.pass.cpp
@@ -23,8 +23,10 @@
#include <shared_mutex>
#include <type_traits>
-int main()
+int main(int, char**)
{
static_assert((std::is_same<std::shared_lock<std::mutex>::mutex_type,
std::mutex>::value), "");
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/copy_assign.fail.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/copy_assign.fail.cpp
index 0579910..799cb61 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/copy_assign.fail.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/copy_assign.fail.cpp
@@ -15,7 +15,7 @@
#include <mutex>
#include <cassert>
-int main()
+int main(int, char**)
{
{
typedef std::mutex M;
@@ -29,4 +29,6 @@
assert(lk0.mutex() == nullptr);
assert(lk0.owns_lock() == false);
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/copy_ctor.fail.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/copy_ctor.fail.cpp
index 12045f9..e258198 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/copy_ctor.fail.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/copy_ctor.fail.cpp
@@ -15,7 +15,7 @@
#include <mutex>
#include <cassert>
-int main()
+int main(int, char**)
{
{
typedef std::mutex M;
@@ -27,4 +27,6 @@
assert(lk0.mutex() == nullptr);
assert(lk0.owns_lock() == false);
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/default.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/default.pass.cpp
index 46f4f1e..74b2651 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/default.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/default.pass.cpp
@@ -17,9 +17,11 @@
#include <mutex>
#include <cassert>
-int main()
+int main(int, char**)
{
std::unique_lock<std::mutex> ul;
assert(!ul.owns_lock());
assert(ul.mutex() == nullptr);
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/move_assign.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/move_assign.pass.cpp
index 16b1bd8..1e66376 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/move_assign.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/move_assign.pass.cpp
@@ -18,7 +18,7 @@
#include <cassert>
#include "nasty_containers.hpp"
-int main()
+int main(int, char**)
{
{
typedef std::mutex M;
@@ -44,4 +44,6 @@
assert(lk0.mutex() == nullptr);
assert(lk0.owns_lock() == false);
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/move_ctor.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/move_ctor.pass.cpp
index 2c49937..8ea0a1f 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/move_ctor.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/move_ctor.pass.cpp
@@ -18,7 +18,7 @@
#include <cassert>
#include "nasty_containers.hpp"
-int main()
+int main(int, char**)
{
{
typedef std::mutex M;
@@ -40,4 +40,6 @@
assert(lk0.mutex() == nullptr);
assert(lk0.owns_lock() == false);
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex.pass.cpp
index 30897b3..61c0dac 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex.pass.cpp
@@ -46,7 +46,7 @@
assert(d < ms(50)); // within 50ms
}
-int main()
+int main(int, char**)
{
m.lock();
std::thread t(f);
@@ -58,4 +58,6 @@
std::unique_lock ul(m);
static_assert((std::is_same<decltype(ul), std::unique_lock<decltype(m)>>::value), "" );
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_adopt_lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_adopt_lock.pass.cpp
index 1c258d6..d957c6d 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_adopt_lock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_adopt_lock.pass.cpp
@@ -18,7 +18,7 @@
#include <cassert>
#include "nasty_containers.hpp"
-int main()
+int main(int, char**)
{
{
typedef std::mutex M;
@@ -36,4 +36,6 @@
assert(lk.mutex() == std::addressof(m));
assert(lk.owns_lock() == true);
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_defer_lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_defer_lock.pass.cpp
index 5f4ab4e..af68531 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_defer_lock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_defer_lock.pass.cpp
@@ -18,7 +18,7 @@
#include <cassert>
#include "nasty_containers.hpp"
-int main()
+int main(int, char**)
{
{
typedef std::mutex M;
@@ -34,4 +34,6 @@
assert(lk.mutex() == std::addressof(m));
assert(lk.owns_lock() == false);
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_duration.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_duration.pass.cpp
index 8fee76b..8699dd5 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_duration.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_duration.pass.cpp
@@ -50,7 +50,7 @@
assert(d < ms(50)); // within 50ms
}
-int main()
+int main(int, char**)
{
{
m.lock();
@@ -66,4 +66,6 @@
m.unlock();
t.join();
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_time_point.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_time_point.pass.cpp
index 4cd2efe..ab46dac 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_time_point.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_time_point.pass.cpp
@@ -50,7 +50,7 @@
assert(d < ms(50)); // within 50ms
}
-int main()
+int main(int, char**)
{
{
m.lock();
@@ -66,4 +66,6 @@
m.unlock();
t.join();
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_try_to_lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_try_to_lock.pass.cpp
index 3c38580..448be8e 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_try_to_lock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_try_to_lock.pass.cpp
@@ -53,11 +53,13 @@
assert(d < ms(200)); // within 200ms
}
-int main()
+int main(int, char**)
{
m.lock();
std::thread t(f);
std::this_thread::sleep_for(ms(250));
m.unlock();
t.join();
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/lock.pass.cpp
index 536a0d7..b8a0c2d 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/lock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/lock.pass.cpp
@@ -66,11 +66,13 @@
#endif
}
-int main()
+int main(int, char**)
{
m.lock();
std::thread t(f);
std::this_thread::sleep_for(ms(250));
m.unlock();
t.join();
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/try_lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/try_lock.pass.cpp
index cfc0bef..a6247df 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/try_lock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/try_lock.pass.cpp
@@ -33,7 +33,7 @@
mutex m;
-int main()
+int main(int, char**)
{
std::unique_lock<mutex> lk(m, std::defer_lock);
assert(lk.try_lock() == true);
@@ -66,4 +66,6 @@
assert(e.code().value() == EPERM);
}
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/try_lock_for.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/try_lock_for.pass.cpp
index f1a2ef6..a6166ce 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/try_lock_for.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/try_lock_for.pass.cpp
@@ -38,7 +38,7 @@
mutex m;
-int main()
+int main(int, char**)
{
std::unique_lock<mutex> lk(m, std::defer_lock);
assert(lk.try_lock_for(ms(5)) == true);
@@ -71,4 +71,6 @@
assert(e.code().value() == EPERM);
}
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/try_lock_until.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/try_lock_until.pass.cpp
index 60616da..6c7da1c 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/try_lock_until.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/try_lock_until.pass.cpp
@@ -37,7 +37,7 @@
mutex m;
-int main()
+int main(int, char**)
{
typedef std::chrono::steady_clock Clock;
std::unique_lock<mutex> lk(m, std::defer_lock);
@@ -71,4 +71,6 @@
assert(e.code().value() == EPERM);
}
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/unlock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/unlock.pass.cpp
index bb0c00d..1f0a0e5 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/unlock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/unlock.pass.cpp
@@ -29,7 +29,7 @@
mutex m;
-int main()
+int main(int, char**)
{
std::unique_lock<mutex> lk(m);
lk.unlock();
@@ -58,4 +58,6 @@
assert(e.code().value() == EPERM);
}
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.mod/member_swap.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.mod/member_swap.pass.cpp
index 3c89d6c..707755f 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.mod/member_swap.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.mod/member_swap.pass.cpp
@@ -25,7 +25,7 @@
mutex m;
-int main()
+int main(int, char**)
{
std::unique_lock<mutex> lk1(m);
std::unique_lock<mutex> lk2;
@@ -34,4 +34,6 @@
assert(lk1.owns_lock() == false);
assert(lk2.mutex() == &m);
assert(lk2.owns_lock() == true);
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.mod/nonmember_swap.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.mod/nonmember_swap.pass.cpp
index ea99ba9..1c05657 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.mod/nonmember_swap.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.mod/nonmember_swap.pass.cpp
@@ -26,7 +26,7 @@
mutex m;
-int main()
+int main(int, char**)
{
std::unique_lock<mutex> lk1(m);
std::unique_lock<mutex> lk2;
@@ -35,4 +35,6 @@
assert(lk1.owns_lock() == false);
assert(lk2.mutex() == &m);
assert(lk2.owns_lock() == true);
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.mod/release.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.mod/release.pass.cpp
index 9dc9ec3..9751149 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.mod/release.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.mod/release.pass.cpp
@@ -30,7 +30,7 @@
mutex m;
-int main()
+int main(int, char**)
{
std::unique_lock<mutex> lk(m);
assert(lk.mutex() == &m);
@@ -42,4 +42,6 @@
assert(lk.owns_lock() == false);
assert(mutex::lock_count == 1);
assert(mutex::unlock_count == 0);
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.obs/mutex.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.obs/mutex.pass.cpp
index 6e6fb6b..899f965 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.obs/mutex.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.obs/mutex.pass.cpp
@@ -19,7 +19,7 @@
std::mutex m;
-int main()
+int main(int, char**)
{
std::unique_lock<std::mutex> lk0;
assert(lk0.mutex() == nullptr);
@@ -27,4 +27,6 @@
assert(lk1.mutex() == &m);
lk1.unlock();
assert(lk1.mutex() == &m);
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.obs/op_bool.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.obs/op_bool.pass.cpp
index 184bc71..1affe8d 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.obs/op_bool.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.obs/op_bool.pass.cpp
@@ -19,7 +19,7 @@
std::mutex m;
-int main()
+int main(int, char**)
{
std::unique_lock<std::mutex> lk0;
assert(static_cast<bool>(lk0) == false);
@@ -27,4 +27,6 @@
assert(static_cast<bool>(lk1) == true);
lk1.unlock();
assert(static_cast<bool>(lk1) == false);
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.obs/owns_lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.obs/owns_lock.pass.cpp
index 68f944e..2c5496b 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.obs/owns_lock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.obs/owns_lock.pass.cpp
@@ -19,7 +19,7 @@
std::mutex m;
-int main()
+int main(int, char**)
{
std::unique_lock<std::mutex> lk0;
assert(lk0.owns_lock() == false);
@@ -27,4 +27,6 @@
assert(lk1.owns_lock() == true);
lk1.unlock();
assert(lk1.owns_lock() == false);
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/types.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/types.pass.cpp
index 44b1265..7dc093a 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/types.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/types.pass.cpp
@@ -21,8 +21,10 @@
#include <mutex>
#include <type_traits>
-int main()
+int main(int, char**)
{
static_assert((std::is_same<std::unique_lock<std::mutex>::mutex_type,
std::mutex>::value), "");
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/types.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/types.pass.cpp
index 8d6a1fb..150d9b4 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/types.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/types.pass.cpp
@@ -21,7 +21,7 @@
#include <mutex>
#include <type_traits>
-int main()
+int main(int, char**)
{
typedef std::defer_lock_t T1;
typedef std::try_to_lock_t T2;
@@ -30,4 +30,6 @@
T1 t1 = std::defer_lock; ((void)t1);
T2 t2 = std::try_to_lock; ((void)t2);
T3 t3 = std::adopt_lock; ((void)t3);
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/nothing_to_do.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/nothing_to_do.pass.cpp
index f77636c..1f764da 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/nothing_to_do.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/nothing_to_do.pass.cpp
@@ -6,6 +6,8 @@
//
//===----------------------------------------------------------------------===//
-int main()
+int main(int, char**)
{
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.general/nothing_to_do.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.general/nothing_to_do.pass.cpp
index f77636c..1f764da 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.general/nothing_to_do.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.general/nothing_to_do.pass.cpp
@@ -6,6 +6,8 @@
//
//===----------------------------------------------------------------------===//
-int main()
+int main(int, char**)
{
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/nothing_to_do.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/nothing_to_do.pass.cpp
index f77636c..1f764da 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/nothing_to_do.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/nothing_to_do.pass.cpp
@@ -6,6 +6,8 @@
//
//===----------------------------------------------------------------------===//
-int main()
+int main(int, char**)
{
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/assign.fail.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/assign.fail.cpp
index d2d34a2..ba09ed1 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/assign.fail.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/assign.fail.cpp
@@ -14,9 +14,11 @@
#include <mutex>
-int main()
+int main(int, char**)
{
std::mutex m0;
std::mutex m1;
m1 = m0;
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/copy.fail.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/copy.fail.cpp
index 5e1f17d..9edfb72 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/copy.fail.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/copy.fail.cpp
@@ -14,8 +14,10 @@
#include <mutex>
-int main()
+int main(int, char**)
{
std::mutex m0;
std::mutex m1(m0);
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/default.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/default.pass.cpp
index aa8a34b..b5a608e 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/default.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/default.pass.cpp
@@ -17,8 +17,10 @@
#include <mutex>
#include <type_traits>
-int main()
+int main(int, char**)
{
static_assert(std::is_nothrow_default_constructible<std::mutex>::value, "");
std::mutex m;
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/lock.pass.cpp
index 912b647..dcb4b8ff 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/lock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/lock.pass.cpp
@@ -41,11 +41,13 @@
assert(d < ms(50)); // within 50ms
}
-int main()
+int main(int, char**)
{
m.lock();
std::thread t(f);
std::this_thread::sleep_for(ms(250));
m.unlock();
t.join();
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/try_lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/try_lock.pass.cpp
index 9d3d53d..7122155 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/try_lock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/try_lock.pass.cpp
@@ -41,11 +41,13 @@
assert(d < ms(200)); // within 200ms
}
-int main()
+int main(int, char**)
{
m.lock();
std::thread t(f);
std::this_thread::sleep_for(ms(250));
m.unlock();
t.join();
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/assign.fail.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/assign.fail.cpp
index 613eae7..0cf3c5b 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/assign.fail.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/assign.fail.cpp
@@ -14,9 +14,11 @@
#include <mutex>
-int main()
+int main(int, char**)
{
std::recursive_mutex m0;
std::recursive_mutex m1;
m1 = m0;
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/copy.fail.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/copy.fail.cpp
index 812951b..454d779 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/copy.fail.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/copy.fail.cpp
@@ -14,8 +14,10 @@
#include <mutex>
-int main()
+int main(int, char**)
{
std::recursive_mutex m0;
std::recursive_mutex m1(m0);
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/default.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/default.pass.cpp
index 9c63a80..e32c92f 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/default.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/default.pass.cpp
@@ -16,7 +16,9 @@
#include <mutex>
-int main()
+int main(int, char**)
{
std::recursive_mutex m;
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/lock.pass.cpp
index 0342b4c..f8744a9 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/lock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/lock.pass.cpp
@@ -41,11 +41,13 @@
assert(d < ms(200)); // within 200ms
}
-int main()
+int main(int, char**)
{
m.lock();
std::thread t(f);
std::this_thread::sleep_for(ms(250));
m.unlock();
t.join();
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/try_lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/try_lock.pass.cpp
index b5b2565..092343f 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/try_lock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/try_lock.pass.cpp
@@ -43,11 +43,13 @@
assert(d < ms(200)); // within 200ms
}
-int main()
+int main(int, char**)
{
m.lock();
std::thread t(f);
std::this_thread::sleep_for(ms(250));
m.unlock();
t.join();
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/nothing_to_do.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/nothing_to_do.pass.cpp
index f77636c..1f764da 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/nothing_to_do.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/nothing_to_do.pass.cpp
@@ -6,6 +6,8 @@
//
//===----------------------------------------------------------------------===//
-int main()
+int main(int, char**)
{
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/assign.fail.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/assign.fail.cpp
index 6b589f9..337fcdf 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/assign.fail.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/assign.fail.cpp
@@ -17,9 +17,11 @@
#include <shared_mutex>
-int main()
+int main(int, char**)
{
std::shared_mutex m0;
std::shared_mutex m1;
m1 = m0; // expected-error {{overload resolution selected deleted operator '='}}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/copy.fail.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/copy.fail.cpp
index 0c4fb55..93d0288 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/copy.fail.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/copy.fail.cpp
@@ -17,8 +17,10 @@
#include <shared_mutex>
-int main()
+int main(int, char**)
{
std::shared_mutex m0;
std::shared_mutex m1(m0); // expected-error {{call to deleted constructor of 'std::shared_mutex'}}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/default.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/default.pass.cpp
index ac8b9b0..ecd29b7 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/default.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/default.pass.cpp
@@ -17,7 +17,9 @@
#include <shared_mutex>
-int main()
+int main(int, char**)
{
std::shared_mutex m;
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/lock.pass.cpp
index 3eb434a8..74c66d0 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/lock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/lock.pass.cpp
@@ -53,11 +53,13 @@
assert(d < Tolerance); // within tolerance
}
-int main()
+int main(int, char**)
{
m.lock();
std::thread t(f);
std::this_thread::sleep_for(WaitTime);
m.unlock();
t.join();
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/lock_shared.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/lock_shared.pass.cpp
index 38be785..7707af8 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/lock_shared.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/lock_shared.pass.cpp
@@ -65,7 +65,7 @@
}
-int main()
+int main(int, char**)
{
m.lock();
std::vector<std::thread> v;
@@ -84,4 +84,6 @@
for (auto& t : v)
t.join();
q.join();
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/try_lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/try_lock.pass.cpp
index fff58b1..09c7ad5 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/try_lock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/try_lock.pass.cpp
@@ -42,11 +42,13 @@
assert(d < ms(200)); // within 200ms
}
-int main()
+int main(int, char**)
{
m.lock();
std::thread t(f);
std::this_thread::sleep_for(ms(250));
m.unlock();
t.join();
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/try_lock_shared.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/try_lock_shared.pass.cpp
index 26bf188..b9538b5 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/try_lock_shared.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/try_lock_shared.pass.cpp
@@ -46,7 +46,7 @@
}
-int main()
+int main(int, char**)
{
m.lock();
std::vector<std::thread> v;
@@ -56,4 +56,6 @@
m.unlock();
for (auto& t : v)
t.join();
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/nothing_to_do.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/nothing_to_do.pass.cpp
index f77636c..1f764da 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/nothing_to_do.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/nothing_to_do.pass.cpp
@@ -6,6 +6,8 @@
//
//===----------------------------------------------------------------------===//
-int main()
+int main(int, char**)
{
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/assign.fail.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/assign.fail.cpp
index c710e05..483111d 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/assign.fail.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/assign.fail.cpp
@@ -15,9 +15,11 @@
#include <shared_mutex>
-int main()
+int main(int, char**)
{
std::shared_timed_mutex m0;
std::shared_timed_mutex m1;
m1 = m0;
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/copy.fail.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/copy.fail.cpp
index dba5e31..7483b1f 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/copy.fail.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/copy.fail.cpp
@@ -15,8 +15,10 @@
#include <shared_mutex>
-int main()
+int main(int, char**)
{
std::shared_timed_mutex m0;
std::shared_timed_mutex m1(m0);
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/default.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/default.pass.cpp
index 8fe432f..83b30b9 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/default.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/default.pass.cpp
@@ -17,7 +17,9 @@
#include <shared_mutex>
-int main()
+int main(int, char**)
{
std::shared_timed_mutex m;
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/lock.pass.cpp
index c3be2b6..56464b2 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/lock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/lock.pass.cpp
@@ -55,11 +55,13 @@
assert(d < ms(50)); // within 50ms
}
-int main()
+int main(int, char**)
{
m.lock();
std::thread t(f);
std::this_thread::sleep_for(ms(250));
m.unlock();
t.join();
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/lock_shared.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/lock_shared.pass.cpp
index 0702ba0..08d3586 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/lock_shared.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/lock_shared.pass.cpp
@@ -67,7 +67,7 @@
}
-int main()
+int main(int, char**)
{
m.lock();
std::vector<std::thread> v;
@@ -86,4 +86,6 @@
for (auto& t : v)
t.join();
q.join();
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock.pass.cpp
index 4927c36..6b2d9a5 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock.pass.cpp
@@ -42,11 +42,13 @@
assert(d < ms(200)); // within 200ms
}
-int main()
+int main(int, char**)
{
m.lock();
std::thread t(f);
std::this_thread::sleep_for(ms(250));
m.unlock();
t.join();
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_for.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_for.pass.cpp
index d2a24fb..45fea3e 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_for.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_for.pass.cpp
@@ -64,7 +64,7 @@
assert(d < Tolerance); // within tolerance
}
-int main()
+int main(int, char**)
{
{
m.lock();
@@ -80,4 +80,6 @@
m.unlock();
t.join();
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared.pass.cpp
index 7e0886d..830445a 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared.pass.cpp
@@ -54,7 +54,7 @@
assert(d < Tolerance); // within tolerance
}
-int main()
+int main(int, char**)
{
m.lock();
std::vector<std::thread> v;
@@ -64,4 +64,6 @@
m.unlock();
for (auto& t : v)
t.join();
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared_for.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared_for.pass.cpp
index 250ff9b..d89e4aa 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared_for.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared_for.pass.cpp
@@ -64,7 +64,7 @@
assert(d < Tolerance); // within 50ms
}
-int main()
+int main(int, char**)
{
{
m.lock();
@@ -86,4 +86,6 @@
for (auto& t : v)
t.join();
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared_until.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared_until.pass.cpp
index de6c584..5898fe4 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared_until.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared_until.pass.cpp
@@ -64,7 +64,7 @@
assert(d < Tolerance); // within tolerance
}
-int main()
+int main(int, char**)
{
{
m.lock();
@@ -86,4 +86,6 @@
for (auto& t : v)
t.join();
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_until.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_until.pass.cpp
index 40cdfe8..9539215 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_until.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_until.pass.cpp
@@ -64,7 +64,7 @@
assert(d < Tolerance); // within tolerance
}
-int main()
+int main(int, char**)
{
{
m.lock();
@@ -80,4 +80,6 @@
m.unlock();
t.join();
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_until_deadlock_bug.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_until_deadlock_bug.pass.cpp
index fb766e1..865ab92 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_until_deadlock_bug.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_until_deadlock_bug.pass.cpp
@@ -47,7 +47,7 @@
m.unlock_shared();
}
-int main()
+int main(int, char**)
{
typedef std::chrono::steady_clock Clock;
@@ -66,4 +66,6 @@
t1.join();
t2.join();
t3.join();
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/nothing_to_do.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/nothing_to_do.pass.cpp
index f77636c..1f764da 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/nothing_to_do.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/nothing_to_do.pass.cpp
@@ -6,6 +6,8 @@
//
//===----------------------------------------------------------------------===//
-int main()
+int main(int, char**)
{
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/assign.fail.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/assign.fail.cpp
index 902b5ec..d0fabc6 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/assign.fail.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/assign.fail.cpp
@@ -14,9 +14,11 @@
#include <mutex>
-int main()
+int main(int, char**)
{
std::timed_mutex m0;
std::timed_mutex m1;
m1 = m0;
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/copy.fail.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/copy.fail.cpp
index 803b330..a3efb2f 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/copy.fail.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/copy.fail.cpp
@@ -14,8 +14,10 @@
#include <mutex>
-int main()
+int main(int, char**)
{
std::timed_mutex m0;
std::timed_mutex m1(m0);
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/default.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/default.pass.cpp
index aae9790..c879f19 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/default.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/default.pass.cpp
@@ -16,7 +16,9 @@
#include <mutex>
-int main()
+int main(int, char**)
{
std::timed_mutex m;
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/lock.pass.cpp
index 7b35182..8ef3a83 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/lock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/lock.pass.cpp
@@ -39,11 +39,13 @@
assert(d < ms(50)); // within 50ms
}
-int main()
+int main(int, char**)
{
m.lock();
std::thread t(f);
std::this_thread::sleep_for(ms(250));
m.unlock();
t.join();
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/try_lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/try_lock.pass.cpp
index d61f626..7398b7f 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/try_lock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/try_lock.pass.cpp
@@ -41,11 +41,13 @@
assert(d < ms(200)); // within 200ms
}
-int main()
+int main(int, char**)
{
m.lock();
std::thread t(f);
std::this_thread::sleep_for(ms(250));
m.unlock();
t.join();
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/try_lock_for.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/try_lock_for.pass.cpp
index 2e050d9..0103cdf 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/try_lock_for.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/try_lock_for.pass.cpp
@@ -47,7 +47,7 @@
assert(d < ms(50)); // within 50ms
}
-int main()
+int main(int, char**)
{
{
m.lock();
@@ -63,4 +63,6 @@
m.unlock();
t.join();
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/try_lock_until.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/try_lock_until.pass.cpp
index adf7115..350bb76 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/try_lock_until.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/try_lock_until.pass.cpp
@@ -47,7 +47,7 @@
assert(d < ms(50)); // within 50ms
}
-int main()
+int main(int, char**)
{
{
m.lock();
@@ -63,4 +63,6 @@
m.unlock();
t.join();
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/assign.fail.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/assign.fail.cpp
index e34b2b9..44be06d 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/assign.fail.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/assign.fail.cpp
@@ -14,9 +14,11 @@
#include <mutex>
-int main()
+int main(int, char**)
{
std::recursive_timed_mutex m0;
std::recursive_timed_mutex m1;
m1 = m0;
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/copy.fail.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/copy.fail.cpp
index cbdd2eb..154a019 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/copy.fail.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/copy.fail.cpp
@@ -14,8 +14,10 @@
#include <mutex>
-int main()
+int main(int, char**)
{
std::recursive_timed_mutex m0;
std::recursive_timed_mutex m1(m0);
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/default.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/default.pass.cpp
index 98de22e..ee6124c 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/default.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/default.pass.cpp
@@ -16,7 +16,9 @@
#include <mutex>
-int main()
+int main(int, char**)
{
std::recursive_timed_mutex m;
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/lock.pass.cpp
index aba747b..adb5487 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/lock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/lock.pass.cpp
@@ -43,11 +43,13 @@
assert(d < ms(50)); // within 50ms
}
-int main()
+int main(int, char**)
{
m.lock();
std::thread t(f);
std::this_thread::sleep_for(ms(250));
m.unlock();
t.join();
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/try_lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/try_lock.pass.cpp
index 9d73bb5..05b22c0 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/try_lock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/try_lock.pass.cpp
@@ -43,11 +43,13 @@
assert(d < ms(200)); // within 200ms
}
-int main()
+int main(int, char**)
{
m.lock();
std::thread t(f);
std::this_thread::sleep_for(ms(250));
m.unlock();
t.join();
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/try_lock_for.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/try_lock_for.pass.cpp
index feab814..9e5ad5e 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/try_lock_for.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/try_lock_for.pass.cpp
@@ -49,7 +49,7 @@
assert(d < ns(50000000)); // within 50ms
}
-int main()
+int main(int, char**)
{
{
m.lock();
@@ -65,4 +65,6 @@
m.unlock();
t.join();
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/try_lock_until.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/try_lock_until.pass.cpp
index b795315..f6b9d10 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/try_lock_until.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/try_lock_until.pass.cpp
@@ -49,7 +49,7 @@
assert(d < ms(50)); // within 50ms
}
-int main()
+int main(int, char**)
{
{
m.lock();
@@ -65,4 +65,6 @@
m.unlock();
t.join();
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.once/nothing_to_do.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.once/nothing_to_do.pass.cpp
index f77636c..1f764da 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.once/nothing_to_do.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.once/nothing_to_do.pass.cpp
@@ -6,6 +6,8 @@
//
//===----------------------------------------------------------------------===//
-int main()
+int main(int, char**)
{
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.once/thread.once.callonce/call_once.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.once/thread.once.callonce/call_once.pass.cpp
index be5056e..398ee05 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.once/thread.once.callonce/call_once.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.once/thread.once.callonce/call_once.pass.cpp
@@ -186,7 +186,7 @@
#endif // TEST_STD_VER >= 11
-int main()
+int main(int, char**)
{
// check basic functionality
{
@@ -253,4 +253,6 @@
assert(rq.rv_called == 1);
}
#endif // TEST_STD_VER >= 11
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.once/thread.once.callonce/race.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.once/thread.once.callonce/race.pass.cpp
index ebba7f3..511aa3e 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.once/thread.once.callonce/race.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.once/thread.once.callonce/race.pass.cpp
@@ -37,11 +37,13 @@
assert(global == 1);
}
-int main()
+int main(int, char**)
{
std::thread t0(f0);
std::thread t1(f0);
t0.join();
t1.join();
assert(global == 1);
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.once/thread.once.onceflag/assign.fail.cpp b/libcxx/test/std/thread/thread.mutex/thread.once/thread.once.onceflag/assign.fail.cpp
index dd6fe09..40d408d 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.once/thread.once.onceflag/assign.fail.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.once/thread.once.onceflag/assign.fail.cpp
@@ -14,9 +14,11 @@
#include <mutex>
-int main()
+int main(int, char**)
{
std::once_flag f;
std::once_flag f2;
f2 = f;
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.once/thread.once.onceflag/copy.fail.cpp b/libcxx/test/std/thread/thread.mutex/thread.once/thread.once.onceflag/copy.fail.cpp
index ca428ff..9b7c19a 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.once/thread.once.onceflag/copy.fail.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.once/thread.once.onceflag/copy.fail.cpp
@@ -14,8 +14,10 @@
#include <mutex>
-int main()
+int main(int, char**)
{
std::once_flag f;
std::once_flag f2(f);
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.once/thread.once.onceflag/default.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.once/thread.once.onceflag/default.pass.cpp
index 4a1655f..28d93dc 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.once/thread.once.onceflag/default.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.once/thread.once.onceflag/default.pass.cpp
@@ -15,7 +15,7 @@
#include <mutex>
#include "test_macros.h"
-int main()
+int main(int, char**)
{
{
std::once_flag f;
@@ -27,4 +27,6 @@
(void)f;
}
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.req/nothing_to_do.pass.cpp b/libcxx/test/std/thread/thread.req/nothing_to_do.pass.cpp
index f77636c..1f764da 100644
--- a/libcxx/test/std/thread/thread.req/nothing_to_do.pass.cpp
+++ b/libcxx/test/std/thread/thread.req/nothing_to_do.pass.cpp
@@ -6,6 +6,8 @@
//
//===----------------------------------------------------------------------===//
-int main()
+int main(int, char**)
{
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.req/thread.req.exception/nothing_to_do.pass.cpp b/libcxx/test/std/thread/thread.req/thread.req.exception/nothing_to_do.pass.cpp
index f77636c..1f764da 100644
--- a/libcxx/test/std/thread/thread.req/thread.req.exception/nothing_to_do.pass.cpp
+++ b/libcxx/test/std/thread/thread.req/thread.req.exception/nothing_to_do.pass.cpp
@@ -6,6 +6,8 @@
//
//===----------------------------------------------------------------------===//
-int main()
+int main(int, char**)
{
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.req/thread.req.lockable/nothing_to_do.pass.cpp b/libcxx/test/std/thread/thread.req/thread.req.lockable/nothing_to_do.pass.cpp
index f77636c..1f764da 100644
--- a/libcxx/test/std/thread/thread.req/thread.req.lockable/nothing_to_do.pass.cpp
+++ b/libcxx/test/std/thread/thread.req/thread.req.lockable/nothing_to_do.pass.cpp
@@ -6,6 +6,8 @@
//
//===----------------------------------------------------------------------===//
-int main()
+int main(int, char**)
{
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.req/thread.req.lockable/thread.req.lockable.basic/nothing_to_do.pass.cpp b/libcxx/test/std/thread/thread.req/thread.req.lockable/thread.req.lockable.basic/nothing_to_do.pass.cpp
index f77636c..1f764da 100644
--- a/libcxx/test/std/thread/thread.req/thread.req.lockable/thread.req.lockable.basic/nothing_to_do.pass.cpp
+++ b/libcxx/test/std/thread/thread.req/thread.req.lockable/thread.req.lockable.basic/nothing_to_do.pass.cpp
@@ -6,6 +6,8 @@
//
//===----------------------------------------------------------------------===//
-int main()
+int main(int, char**)
{
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.req/thread.req.lockable/thread.req.lockable.general/nothing_to_do.pass.cpp b/libcxx/test/std/thread/thread.req/thread.req.lockable/thread.req.lockable.general/nothing_to_do.pass.cpp
index f77636c..1f764da 100644
--- a/libcxx/test/std/thread/thread.req/thread.req.lockable/thread.req.lockable.general/nothing_to_do.pass.cpp
+++ b/libcxx/test/std/thread/thread.req/thread.req.lockable/thread.req.lockable.general/nothing_to_do.pass.cpp
@@ -6,6 +6,8 @@
//
//===----------------------------------------------------------------------===//
-int main()
+int main(int, char**)
{
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.req/thread.req.lockable/thread.req.lockable.req/nothing_to_do.pass.cpp b/libcxx/test/std/thread/thread.req/thread.req.lockable/thread.req.lockable.req/nothing_to_do.pass.cpp
index f77636c..1f764da 100644
--- a/libcxx/test/std/thread/thread.req/thread.req.lockable/thread.req.lockable.req/nothing_to_do.pass.cpp
+++ b/libcxx/test/std/thread/thread.req/thread.req.lockable/thread.req.lockable.req/nothing_to_do.pass.cpp
@@ -6,6 +6,8 @@
//
//===----------------------------------------------------------------------===//
-int main()
+int main(int, char**)
{
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.req/thread.req.lockable/thread.req.lockable.timed/nothing_to_do.pass.cpp b/libcxx/test/std/thread/thread.req/thread.req.lockable/thread.req.lockable.timed/nothing_to_do.pass.cpp
index f77636c..1f764da 100644
--- a/libcxx/test/std/thread/thread.req/thread.req.lockable/thread.req.lockable.timed/nothing_to_do.pass.cpp
+++ b/libcxx/test/std/thread/thread.req/thread.req.lockable/thread.req.lockable.timed/nothing_to_do.pass.cpp
@@ -6,6 +6,8 @@
//
//===----------------------------------------------------------------------===//
-int main()
+int main(int, char**)
{
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.req/thread.req.native/nothing_to_do.pass.cpp b/libcxx/test/std/thread/thread.req/thread.req.native/nothing_to_do.pass.cpp
index f77636c..1f764da 100644
--- a/libcxx/test/std/thread/thread.req/thread.req.native/nothing_to_do.pass.cpp
+++ b/libcxx/test/std/thread/thread.req/thread.req.native/nothing_to_do.pass.cpp
@@ -6,6 +6,8 @@
//
//===----------------------------------------------------------------------===//
-int main()
+int main(int, char**)
{
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.req/thread.req.paramname/nothing_to_do.pass.cpp b/libcxx/test/std/thread/thread.req/thread.req.paramname/nothing_to_do.pass.cpp
index f77636c..1f764da 100644
--- a/libcxx/test/std/thread/thread.req/thread.req.paramname/nothing_to_do.pass.cpp
+++ b/libcxx/test/std/thread/thread.req/thread.req.paramname/nothing_to_do.pass.cpp
@@ -6,6 +6,8 @@
//
//===----------------------------------------------------------------------===//
-int main()
+int main(int, char**)
{
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.req/thread.req.timing/nothing_to_do.pass.cpp b/libcxx/test/std/thread/thread.req/thread.req.timing/nothing_to_do.pass.cpp
index f77636c..1f764da 100644
--- a/libcxx/test/std/thread/thread.req/thread.req.timing/nothing_to_do.pass.cpp
+++ b/libcxx/test/std/thread/thread.req/thread.req.timing/nothing_to_do.pass.cpp
@@ -6,6 +6,8 @@
//
//===----------------------------------------------------------------------===//
-int main()
+int main(int, char**)
{
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.algorithm/swap.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.algorithm/swap.pass.cpp
index 64a4136..68f20d7 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.algorithm/swap.pass.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.algorithm/swap.pass.cpp
@@ -41,7 +41,7 @@
int G::n_alive = 0;
bool G::op_run = false;
-int main()
+int main(int, char**)
{
{
G g;
@@ -54,4 +54,6 @@
assert(t1.get_id() == id0);
t1.join();
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.assign/copy.fail.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.assign/copy.fail.cpp
index 1afaaf7..e67ceea 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.assign/copy.fail.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.assign/copy.fail.cpp
@@ -40,11 +40,13 @@
int G::n_alive = 0;
bool G::op_run = false;
-int main()
+int main(int, char**)
{
{
std::thread t0(G());
std::thread t1;
t1 = t0;
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.assign/move.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.assign/move.pass.cpp
index e2f3d38..cbc32c8 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.assign/move.pass.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.assign/move.pass.cpp
@@ -41,7 +41,7 @@
int G::n_alive = 0;
bool G::op_run = false;
-int main()
+int main(int, char**)
{
{
assert(G::n_alive == 0);
@@ -59,4 +59,6 @@
assert(G::n_alive == 0);
assert(G::op_run);
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.assign/move2.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.assign/move2.pass.cpp
index 9a4d6e9..81c6d77 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.assign/move2.pass.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.assign/move2.pass.cpp
@@ -51,7 +51,7 @@
std::_Exit(0);
}
-int main()
+int main(int, char**)
{
std::set_terminate(f1);
{
@@ -61,4 +61,6 @@
t0 = std::move(t1);
assert(false);
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/F.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/F.pass.cpp
index af2450f..13c6918 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/F.pass.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/F.pass.cpp
@@ -144,7 +144,7 @@
#endif
}
-int main()
+int main(int, char**)
{
test_throwing_new_during_thread_creation();
{
@@ -200,4 +200,6 @@
t.join();
}
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/constr.fail.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/constr.fail.cpp
index c24b041..2623137 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/constr.fail.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/constr.fail.cpp
@@ -18,8 +18,10 @@
#include <thread>
#include <cassert>
-int main()
+int main(int, char**)
{
volatile std::thread t1;
std::thread t2 ( t1, 1, 2.0 );
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/copy.fail.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/copy.fail.cpp
index 4a2e6f0..2a3632c 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/copy.fail.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/copy.fail.cpp
@@ -48,7 +48,7 @@
int G::n_alive = 0;
bool G::op_run = false;
-int main()
+int main(int, char**)
{
{
assert(G::n_alive == 0);
@@ -62,4 +62,6 @@
assert(G::n_alive == 0);
assert(G::op_run);
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/default.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/default.pass.cpp
index d635470..135d3ce 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/default.pass.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/default.pass.cpp
@@ -17,8 +17,10 @@
#include <thread>
#include <cassert>
-int main()
+int main(int, char**)
{
std::thread t;
assert(t.get_id() == std::thread::id());
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/move.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/move.pass.cpp
index 7e34729..25703b2 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/move.pass.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/move.pass.cpp
@@ -50,7 +50,7 @@
int G::n_alive = 0;
bool G::op_run = false;
-int main()
+int main(int, char**)
{
{
G g;
@@ -66,4 +66,6 @@
assert(G::op_run);
}
assert(G::n_alive == 0);
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.destr/dtor.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.destr/dtor.pass.cpp
index 202d61b..320b445 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.destr/dtor.pass.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.destr/dtor.pass.cpp
@@ -47,7 +47,7 @@
std::_Exit(0);
}
-int main()
+int main(int, char**)
{
std::set_terminate(f1);
{
@@ -60,4 +60,6 @@
}
}
assert(false);
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/assign.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/assign.pass.cpp
index 4447600..fb4b7eb 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/assign.pass.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/assign.pass.cpp
@@ -17,7 +17,7 @@
#include <thread>
#include <cassert>
-int main()
+int main(int, char**)
{
std::thread::id id0;
std::thread::id id1;
@@ -25,4 +25,6 @@
assert(id1 == id0);
id1 = std::this_thread::get_id();
assert(id1 != id0);
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/copy.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/copy.pass.cpp
index 52d4f2c..f95617b 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/copy.pass.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/copy.pass.cpp
@@ -17,9 +17,11 @@
#include <thread>
#include <cassert>
-int main()
+int main(int, char**)
{
std::thread::id id0;
std::thread::id id1 = id0;
assert(id1 == id0);
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/default.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/default.pass.cpp
index a9778f0..32a083c 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/default.pass.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/default.pass.cpp
@@ -17,8 +17,10 @@
#include <thread>
#include <cassert>
-int main()
+int main(int, char**)
{
std::thread::id id;
assert(id == std::thread::id());
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/enabled_hashes.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/enabled_hashes.pass.cpp
index 7a2fa86..3858508 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/enabled_hashes.pass.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/enabled_hashes.pass.cpp
@@ -18,9 +18,11 @@
#include "poisoned_hash_helper.hpp"
-int main() {
+int main(int, char**) {
test_library_hash_specializations_available();
{
test_hash_enabled_for_type<std::thread::id>();
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/eq.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/eq.pass.cpp
index cf89066..5c557fd 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/eq.pass.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/eq.pass.cpp
@@ -18,7 +18,7 @@
#include <thread>
#include <cassert>
-int main()
+int main(int, char**)
{
std::thread::id id0;
std::thread::id id1;
@@ -28,4 +28,6 @@
id1 = std::this_thread::get_id();
assert(!(id1 == id0));
assert( (id1 != id0));
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/lt.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/lt.pass.cpp
index 69ea217..8af7304 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/lt.pass.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/lt.pass.cpp
@@ -20,7 +20,7 @@
#include <thread>
#include <cassert>
-int main()
+int main(int, char**)
{
std::thread::id id0;
std::thread::id id1;
@@ -39,4 +39,6 @@
assert( (id0 > id2));
assert( (id0 >= id2));
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/stream.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/stream.pass.cpp
index d07f26b..a1541c1 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/stream.pass.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/stream.pass.cpp
@@ -20,9 +20,11 @@
#include <sstream>
#include <cassert>
-int main()
+int main(int, char**)
{
std::thread::id id0 = std::this_thread::get_id();
std::ostringstream os;
os << id0;
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/thread_id.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/thread_id.pass.cpp
index 325c0bf..80bcbf9 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/thread_id.pass.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/thread_id.pass.cpp
@@ -24,7 +24,7 @@
#include "test_macros.h"
-int main()
+int main(int, char**)
{
std::thread::id id1;
std::thread::id id2 = std::this_thread::get_id();
@@ -34,4 +34,6 @@
ASSERT_NOEXCEPT(H()(id2));
H h;
assert(h(id1) != h(id2));
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/detach.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/detach.pass.cpp
index 8debe77..bf72e34 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/detach.pass.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/detach.pass.cpp
@@ -61,7 +61,7 @@
void foo() {}
-int main()
+int main(int, char**)
{
{
G g;
@@ -86,4 +86,6 @@
}
}
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/get_id.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/get_id.pass.cpp
index 99cdec9..006bc1e 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/get_id.pass.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/get_id.pass.cpp
@@ -41,7 +41,7 @@
int G::n_alive = 0;
bool G::op_run = false;
-int main()
+int main(int, char**)
{
{
G g;
@@ -54,4 +54,6 @@
assert(t1.get_id() == std::thread::id());
t0.join();
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/join.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/join.pass.cpp
index c21de04..b64a111 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/join.pass.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/join.pass.cpp
@@ -46,7 +46,7 @@
void foo() {}
-int main()
+int main(int, char**)
{
{
G g;
@@ -73,4 +73,6 @@
}
}
#endif
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/joinable.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/joinable.pass.cpp
index 3db473a..6f1308c 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/joinable.pass.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/joinable.pass.cpp
@@ -41,7 +41,7 @@
int G::n_alive = 0;
bool G::op_run = false;
-int main()
+int main(int, char**)
{
{
G g;
@@ -50,4 +50,6 @@
t0.join();
assert(!t0.joinable());
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/swap.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/swap.pass.cpp
index 66c810b..f43805d 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/swap.pass.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/swap.pass.cpp
@@ -41,7 +41,7 @@
int G::n_alive = 0;
bool G::op_run = false;
-int main()
+int main(int, char**)
{
{
G g;
@@ -54,4 +54,6 @@
assert(t1.get_id() == id0);
t1.join();
}
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.static/hardware_concurrency.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.static/hardware_concurrency.pass.cpp
index 3500f2c..5493f27 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.static/hardware_concurrency.pass.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.static/hardware_concurrency.pass.cpp
@@ -17,7 +17,9 @@
#include <thread>
#include <cassert>
-int main()
+int main(int, char**)
{
assert(std::thread::hardware_concurrency() > 0);
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.this/get_id.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.this/get_id.pass.cpp
index 864518d..1bf46cd 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.this/get_id.pass.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.this/get_id.pass.cpp
@@ -15,8 +15,10 @@
#include <thread>
#include <cassert>
-int main()
+int main(int, char**)
{
std::thread::id id = std::this_thread::get_id();
assert(id != std::thread::id());
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.this/sleep_for_tested_elsewhere.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.this/sleep_for_tested_elsewhere.pass.cpp
index 59791c8..7c8552e 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.this/sleep_for_tested_elsewhere.pass.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.this/sleep_for_tested_elsewhere.pass.cpp
@@ -16,6 +16,8 @@
// is therefore non-standard. For this reason the test lives under the 'libcxx'
// subdirectory.
-int main()
+int main(int, char**)
{
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.this/sleep_until.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.this/sleep_until.pass.cpp
index 5fbaf9d..c73144d 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.this/sleep_until.pass.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.this/sleep_until.pass.cpp
@@ -18,7 +18,7 @@
#include <cstdlib>
#include <cassert>
-int main()
+int main(int, char**)
{
typedef std::chrono::system_clock Clock;
typedef Clock::time_point time_point;
@@ -30,4 +30,6 @@
std::chrono::nanoseconds err = 5 * ms / 100;
// The time slept is within 5% of 500ms
assert(std::abs(ns.count()) < err.count());
+
+ return 0;
}
diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.this/yield.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.this/yield.pass.cpp
index 5c1caa0..6f772b5 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.this/yield.pass.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.this/yield.pass.cpp
@@ -15,7 +15,9 @@
#include <thread>
#include <cassert>
-int main()
+int main(int, char**)
{
std::this_thread::yield();
+
+ return 0;
}