diff options
author | JF Bastien <jfbastien@apple.com> | 2019-02-04 20:31:13 +0000 |
---|---|---|
committer | JF Bastien <jfbastien@apple.com> | 2019-02-04 20:31:13 +0000 |
commit | 2df59c50688c122bbcae7467d3eaf862c3ea3088 (patch) | |
tree | 29c9a3e1c54fe76a506ffecc0cc4d8fbaba5cb04 /libcxx/test/std/utilities/function.objects | |
parent | 6fd4e7fe0258ff71fe759535236883ea9060587c (diff) | |
download | bcm5719-llvm-2df59c50688c122bbcae7467d3eaf862c3ea3088.tar.gz bcm5719-llvm-2df59c50688c122bbcae7467d3eaf862c3ea3088.zip |
Support tests in freestanding
Summary:
Freestanding is *weird*. The standard allows it to differ in a bunch of odd
manners from regular C++, and the committee would like to improve that
situation. I'd like to make libc++ behave better with what freestanding should
be, so that it can be a tool we use in improving the standard. To do that we
need to try stuff out, both with "freestanding the language mode" and
"freestanding the library subset".
Let's start with the super basic: run the libc++ tests in freestanding, using
clang as the compiler, and see what works. The easiest hack to do this:
In utils/libcxx/test/config.py add:
self.cxx.compile_flags += ['-ffreestanding']
Run the tests and they all fail.
Why? Because in freestanding `main` isn't special. This "not special" property
has two effects: main doesn't get mangled, and main isn't allowed to omit its
`return` statement. The first means main gets mangled and the linker can't
create a valid executable for us to test. The second means we spew out warnings
(ew) and the compiler doesn't insert the `return` we omitted, and main just
falls of the end and does whatever undefined behavior (if you're luck, ud2
leading to non-zero return code).
Let's start my work with the basics. This patch changes all libc++ tests to
declare `main` as `int main(int, char**` so it mangles consistently (enabling us
to declare another `extern "C"` main for freestanding which calls the mangled
one), and adds `return 0;` to all places where it was missing. This touches 6124
files, and I apologize.
The former was done with The Magic Of Sed.
The later was done with a (not quite correct but decent) clang tool:
https://gist.github.com/jfbastien/793819ff360baa845483dde81170feed
This works for most tests, though I did have to adjust a few places when e.g.
the test runs with `-x c`, macros are used for main (such as for the filesystem
tests), etc.
Once this is in we can create a freestanding bot which will prevent further
regressions. After that, we can start the real work of supporting C++
freestanding fairly well in libc++.
<rdar://problem/47754795>
Reviewers: ldionne, mclow.lists, EricWF
Subscribers: christof, jkorous, dexonsmith, arphaman, miyuki, libcxx-commits
Differential Revision: https://reviews.llvm.org/D57624
llvm-svn: 353086
Diffstat (limited to 'libcxx/test/std/utilities/function.objects')
133 files changed, 391 insertions, 133 deletions
diff --git a/libcxx/test/std/utilities/function.objects/arithmetic.operations/divides.pass.cpp b/libcxx/test/std/utilities/function.objects/arithmetic.operations/divides.pass.cpp index c191b191bcd..1dbbd8533c7 100644 --- a/libcxx/test/std/utilities/function.objects/arithmetic.operations/divides.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/arithmetic.operations/divides.pass.cpp @@ -16,7 +16,7 @@ #include "test_macros.h" -int main() +int main(int, char**) { typedef std::divides<int> F; const F f = F(); @@ -37,4 +37,6 @@ int main() constexpr double bar = std::divides<> () (3.0, 2); static_assert ( bar == 1.5, "" ); // exact in binary #endif + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/arithmetic.operations/minus.pass.cpp b/libcxx/test/std/utilities/function.objects/arithmetic.operations/minus.pass.cpp index 54ab577ea43..186695f7b93 100644 --- a/libcxx/test/std/utilities/function.objects/arithmetic.operations/minus.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/arithmetic.operations/minus.pass.cpp @@ -16,7 +16,7 @@ #include "test_macros.h" -int main() +int main(int, char**) { typedef std::minus<int> F; const F f = F(); @@ -37,4 +37,6 @@ int main() constexpr double bar = std::minus<> () (3.0, 2); static_assert ( bar == 1.0, "" ); #endif + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/arithmetic.operations/modulus.pass.cpp b/libcxx/test/std/utilities/function.objects/arithmetic.operations/modulus.pass.cpp index f426c57cfee..3679a2d3251 100644 --- a/libcxx/test/std/utilities/function.objects/arithmetic.operations/modulus.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/arithmetic.operations/modulus.pass.cpp @@ -16,7 +16,7 @@ #include "test_macros.h" -int main() +int main(int, char**) { typedef std::modulus<int> F; const F f = F(); @@ -37,4 +37,6 @@ int main() constexpr int bar = std::modulus<> () (3L, 2); static_assert ( bar == 1, "" ); #endif + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/arithmetic.operations/multiplies.pass.cpp b/libcxx/test/std/utilities/function.objects/arithmetic.operations/multiplies.pass.cpp index 5ef4791b59e..a09e59c784c 100644 --- a/libcxx/test/std/utilities/function.objects/arithmetic.operations/multiplies.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/arithmetic.operations/multiplies.pass.cpp @@ -16,7 +16,7 @@ #include "test_macros.h" -int main() +int main(int, char**) { typedef std::multiplies<int> F; const F f = F(); @@ -37,4 +37,6 @@ int main() constexpr double bar = std::multiplies<> () (3.0, 2); static_assert ( bar == 6.0, "" ); #endif + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/arithmetic.operations/negate.pass.cpp b/libcxx/test/std/utilities/function.objects/arithmetic.operations/negate.pass.cpp index d7346c769f7..553bf83e2d4 100644 --- a/libcxx/test/std/utilities/function.objects/arithmetic.operations/negate.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/arithmetic.operations/negate.pass.cpp @@ -16,7 +16,7 @@ #include "test_macros.h" -int main() +int main(int, char**) { typedef std::negate<int> F; const F f = F(); @@ -36,4 +36,6 @@ int main() constexpr double bar = std::negate<> () (3.0); static_assert ( bar == -3.0, "" ); #endif + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/arithmetic.operations/plus.pass.cpp b/libcxx/test/std/utilities/function.objects/arithmetic.operations/plus.pass.cpp index 6bca266e078..b2614f4304d 100644 --- a/libcxx/test/std/utilities/function.objects/arithmetic.operations/plus.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/arithmetic.operations/plus.pass.cpp @@ -16,7 +16,7 @@ #include "test_macros.h" -int main() +int main(int, char**) { typedef std::plus<int> F; const F f = F(); @@ -37,4 +37,6 @@ int main() constexpr double bar = std::plus<> () (3.0, 2); static_assert ( bar == 5.0, "" ); #endif + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/arithmetic.operations/transparent.pass.cpp b/libcxx/test/std/utilities/function.objects/arithmetic.operations/transparent.pass.cpp index ca57c223a2a..154a0f8877a 100644 --- a/libcxx/test/std/utilities/function.objects/arithmetic.operations/transparent.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/arithmetic.operations/transparent.pass.cpp @@ -22,7 +22,7 @@ public: }; -int main () +int main(int, char**) { static_assert ( !is_transparent<std::plus<int>>::value, "" ); static_assert ( !is_transparent<std::plus<std::string>>::value, "" ); diff --git a/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/PR23141_invoke_not_constexpr.pass.cpp b/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/PR23141_invoke_not_constexpr.pass.cpp index 4c025d1415a..931778f54d9 100644 --- a/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/PR23141_invoke_not_constexpr.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/PR23141_invoke_not_constexpr.pass.cpp @@ -28,7 +28,9 @@ struct Fun } }; -int main() +int main(int, char**) { std::bind(Fun{}, std::placeholders::_1, 42)("hello"); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/bind_return_type.pass.cpp b/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/bind_return_type.pass.cpp index fc089e16528..7010b33f331 100644 --- a/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/bind_return_type.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/bind_return_type.pass.cpp @@ -115,7 +115,7 @@ void do_test_r(Fn* func) { } } -int main() +int main(int, char**) { do_test<int>(return_value); do_test<int&>(return_lvalue); @@ -129,4 +129,6 @@ int main() do_test_r<long>(return_rvalue); do_test_r<long>(return_const_rvalue); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/copy.pass.cpp b/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/copy.pass.cpp index ccc6c27e716..8beeb3321d5 100644 --- a/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/copy.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/copy.pass.cpp @@ -26,11 +26,13 @@ float _pow(float a, float b) return std::pow(a, b); } -int main() +int main(int, char**) { std::function<float(float, float)> fnc = _pow; auto task = std::bind(fnc, 2.f, 4.f); auto task2(task); assert(task() == 16); assert(task2() == 16); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/invoke_function_object.pass.cpp b/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/invoke_function_object.pass.cpp index b386b99a90f..b87918da110 100644 --- a/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/invoke_function_object.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/invoke_function_object.pass.cpp @@ -38,7 +38,7 @@ struct BadUnaryFunction } }; -int main() +int main(int, char**) { // Check that BadUnaryFunction::operator()(S const &) is not // instantiated when checking if BadUnaryFunction is a nested bind @@ -47,4 +47,6 @@ int main() b(0); auto b2 = std::bind<long>(DummyUnaryFunction(), BadUnaryFunction()); b2(0); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/invoke_int_0.pass.cpp b/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/invoke_int_0.pass.cpp index 8d6bc70e79a..a77e1895d6f 100644 --- a/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/invoke_int_0.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/invoke_int_0.pass.cpp @@ -40,7 +40,7 @@ struct A_int_0 int operator()() const {return 5;} }; -int main() +int main(int, char**) { test(std::bind(f), 1); test(std::bind(&f), 1); @@ -51,4 +51,6 @@ int main() test(std::bind<int>(&f), 1); test(std::bind<int>(A_int_0()), 4); test_const(std::bind<int>(A_int_0()), 5); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/invoke_lvalue.pass.cpp b/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/invoke_lvalue.pass.cpp index 92f65af2c91..9b81d330132 100644 --- a/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/invoke_lvalue.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/invoke_lvalue.pass.cpp @@ -280,10 +280,12 @@ test3() assert(b); } -int main() +int main(int, char**) { test_void_1(); test_int_1(); test_void_2(); test3(); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/invoke_rvalue.pass.cpp b/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/invoke_rvalue.pass.cpp index b7facb38ac6..10d2ce017f8 100644 --- a/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/invoke_rvalue.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/invoke_rvalue.pass.cpp @@ -258,10 +258,12 @@ void test_nested() assert(std::bind(f_nested, std::bind(g_nested, _1))(3) == 31); } -int main() +int main(int, char**) { test_void_1(); test_int_1(); test_void_2(); test_nested(); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/invoke_void_0.pass.cpp b/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/invoke_void_0.pass.cpp index cc982d1b80f..2c8e56f034e 100644 --- a/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/invoke_void_0.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/invoke_void_0.pass.cpp @@ -54,7 +54,7 @@ struct A_int_0 int operator()() const {count += 2; return 5;} }; -int main() +int main(int, char**) { test(std::bind(f)); test(std::bind(&f)); @@ -70,4 +70,6 @@ int main() test(std::bind<void>(&g)); test(std::bind<void>(A_int_0())); test_const(std::bind<void>(A_int_0())); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/nested.pass.cpp b/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/nested.pass.cpp index c4d82948e37..0d5be341353 100644 --- a/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/nested.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/nested.pass.cpp @@ -41,11 +41,13 @@ struct plus_one } }; -int main() +int main(int, char**) { using std::placeholders::_1; auto g = std::bind(power(), 2, _1); assert(g(5) == 32); assert(std::bind(plus_one(), g)(5) == 33); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.isbind/is_bind_expression.pass.cpp b/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.isbind/is_bind_expression.pass.cpp index cf065e4e382..8314dbe1e8e 100644 --- a/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.isbind/is_bind_expression.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.isbind/is_bind_expression.pass.cpp @@ -27,11 +27,13 @@ test(const T&) struct C {}; -int main() +int main(int, char**) { test<true>(std::bind(C())); test<true>(std::bind(C(), std::placeholders::_2)); test<true>(std::bind<int>(C())); test<false>(1); test<false>(std::placeholders::_2); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.isbind/is_bind_expression_03.pass.cpp b/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.isbind/is_bind_expression_03.pass.cpp index da7880fb25f..c1af159b293 100644 --- a/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.isbind/is_bind_expression_03.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.isbind/is_bind_expression_03.pass.cpp @@ -24,7 +24,7 @@ void test() { struct C {}; -int main() { +int main(int, char**) { test<int>(); test<void>(); test<C>(); @@ -35,4 +35,6 @@ int main() { test<int(*)()>(); test<int (C::*)()>(); test<decltype(std::placeholders::_2)>(); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.isbind/is_placeholder.pass.cpp b/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.isbind/is_placeholder.pass.cpp index ecaa45bba28..d2ccf1fafdc 100644 --- a/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.isbind/is_placeholder.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.isbind/is_placeholder.pass.cpp @@ -25,7 +25,7 @@ test(const T&) struct C {}; -int main() +int main(int, char**) { test<1>(std::placeholders::_1); test<2>(std::placeholders::_2); @@ -41,4 +41,6 @@ int main() test<0>(5.5); test<0>('a'); test<0>(C()); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.place/placeholders.pass.cpp b/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.place/placeholders.pass.cpp index 8e4ec60ef13..b71aae818a0 100644 --- a/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.place/placeholders.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.place/placeholders.pass.cpp @@ -80,7 +80,7 @@ void use_placeholders_to_prevent_unused_warning() { #endif } -int main() +int main(int, char**) { use_placeholders_to_prevent_unused_warning(); test(std::placeholders::_1); @@ -93,4 +93,6 @@ int main() test(std::placeholders::_8); test(std::placeholders::_9); test(std::placeholders::_10); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/bind/func.bind/nothing_to_do.pass.cpp b/libcxx/test/std/utilities/function.objects/bind/func.bind/nothing_to_do.pass.cpp index f77636c8475..1f764da05d6 100644 --- a/libcxx/test/std/utilities/function.objects/bind/func.bind/nothing_to_do.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/bind/func.bind/nothing_to_do.pass.cpp @@ -6,6 +6,8 @@ // //===----------------------------------------------------------------------===// -int main() +int main(int, char**) { + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/bind/nothing_to_do.pass.cpp b/libcxx/test/std/utilities/function.objects/bind/nothing_to_do.pass.cpp index f77636c8475..1f764da05d6 100644 --- a/libcxx/test/std/utilities/function.objects/bind/nothing_to_do.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/bind/nothing_to_do.pass.cpp @@ -6,6 +6,8 @@ // //===----------------------------------------------------------------------===// -int main() +int main(int, char**) { + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/bitwise.operations/bit_and.pass.cpp b/libcxx/test/std/utilities/function.objects/bitwise.operations/bit_and.pass.cpp index 664e3f25dd6..aa532462145 100644 --- a/libcxx/test/std/utilities/function.objects/bitwise.operations/bit_and.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/bitwise.operations/bit_and.pass.cpp @@ -16,7 +16,7 @@ #include "test_macros.h" -int main() +int main(int, char**) { typedef std::bit_and<int> F; const F f = F(); @@ -57,4 +57,6 @@ int main() constexpr int bar = std::bit_and<> () (0x58D3L, 0xEA95); static_assert ( bar == 0x4891, "" ); #endif + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/bitwise.operations/bit_not.pass.cpp b/libcxx/test/std/utilities/function.objects/bitwise.operations/bit_not.pass.cpp index e18139bc607..8bfa48f3e70 100644 --- a/libcxx/test/std/utilities/function.objects/bitwise.operations/bit_not.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/bitwise.operations/bit_not.pass.cpp @@ -15,7 +15,7 @@ #include <type_traits> #include <cassert> -int main() +int main(int, char**) { typedef std::bit_not<int> F; const F f = F(); @@ -42,4 +42,6 @@ int main() constexpr int bar = std::bit_not<> () (0xEA95) & 0xFFFF; static_assert ( bar == 0x156A, "" ); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/bitwise.operations/bit_or.pass.cpp b/libcxx/test/std/utilities/function.objects/bitwise.operations/bit_or.pass.cpp index 19bd1a731c8..8abcd63afaa 100644 --- a/libcxx/test/std/utilities/function.objects/bitwise.operations/bit_or.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/bitwise.operations/bit_or.pass.cpp @@ -16,7 +16,7 @@ #include "test_macros.h" -int main() +int main(int, char**) { typedef std::bit_or<int> F; const F f = F(); @@ -57,4 +57,6 @@ int main() constexpr int bar = std::bit_or<> () (0x58D3L, 0xEA95); static_assert ( bar == 0xFAD7, "" ); #endif + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/bitwise.operations/bit_xor.pass.cpp b/libcxx/test/std/utilities/function.objects/bitwise.operations/bit_xor.pass.cpp index 757417a2cb5..070bd4c5f7b 100644 --- a/libcxx/test/std/utilities/function.objects/bitwise.operations/bit_xor.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/bitwise.operations/bit_xor.pass.cpp @@ -16,7 +16,7 @@ #include "test_macros.h" -int main() +int main(int, char**) { { typedef std::bit_xor<int> F; @@ -61,4 +61,6 @@ int main() static_assert ( bar == 0xB246, "" ); } #endif + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/bitwise.operations/transparent.pass.cpp b/libcxx/test/std/utilities/function.objects/bitwise.operations/transparent.pass.cpp index c360a51b4e9..5ad0f233f19 100644 --- a/libcxx/test/std/utilities/function.objects/bitwise.operations/transparent.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/bitwise.operations/transparent.pass.cpp @@ -22,7 +22,7 @@ public: }; -int main () { +int main(int, char**) { static_assert ( !is_transparent<std::bit_and<int>>::value, "" ); static_assert ( !is_transparent<std::bit_and<std::string>>::value, "" ); static_assert ( is_transparent<std::bit_and<void>>::value, "" ); diff --git a/libcxx/test/std/utilities/function.objects/comparisons/constexpr_init.pass.cpp b/libcxx/test/std/utilities/function.objects/comparisons/constexpr_init.pass.cpp index 7632dc58061..a0c41432ec4 100644 --- a/libcxx/test/std/utilities/function.objects/comparisons/constexpr_init.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/comparisons/constexpr_init.pass.cpp @@ -42,6 +42,8 @@ static_assert(test_constexpr_context<int>(), ""); static_assert(test_constexpr_context<void>(), ""); -int main() { +int main(int, char**) { + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/comparisons/equal_to.pass.cpp b/libcxx/test/std/utilities/function.objects/comparisons/equal_to.pass.cpp index 7ec8f66328d..beed574f89e 100644 --- a/libcxx/test/std/utilities/function.objects/comparisons/equal_to.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/comparisons/equal_to.pass.cpp @@ -16,7 +16,7 @@ #include "test_macros.h" -int main() +int main(int, char**) { typedef std::equal_to<int> F; const F f = F(); @@ -39,4 +39,6 @@ int main() constexpr bool bar = std::equal_to<> () (36.0, 36); static_assert ( bar, "" ); #endif + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/comparisons/greater.pass.cpp b/libcxx/test/std/utilities/function.objects/comparisons/greater.pass.cpp index 12111ef28e3..35c05757c8c 100644 --- a/libcxx/test/std/utilities/function.objects/comparisons/greater.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/comparisons/greater.pass.cpp @@ -17,7 +17,7 @@ #include "test_macros.h" #include "pointer_comparison_test_helper.hpp" -int main() +int main(int, char**) { typedef std::greater<int> F; const F f = F(); @@ -49,4 +49,6 @@ int main() constexpr bool bar = std::greater<> () (36.0, 36); static_assert ( !bar, "" ); #endif + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/comparisons/greater_equal.pass.cpp b/libcxx/test/std/utilities/function.objects/comparisons/greater_equal.pass.cpp index 1ac67eadc38..9a6d36c4176 100644 --- a/libcxx/test/std/utilities/function.objects/comparisons/greater_equal.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/comparisons/greater_equal.pass.cpp @@ -17,7 +17,7 @@ #include "test_macros.h" #include "pointer_comparison_test_helper.hpp" -int main() +int main(int, char**) { typedef std::greater_equal<int> F; const F f = F(); @@ -49,4 +49,6 @@ int main() constexpr bool bar = std::greater_equal<> () (36.0, 36); static_assert ( bar, "" ); #endif + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/comparisons/less.pass.cpp b/libcxx/test/std/utilities/function.objects/comparisons/less.pass.cpp index abfe09ad58d..31a2f975b18 100644 --- a/libcxx/test/std/utilities/function.objects/comparisons/less.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/comparisons/less.pass.cpp @@ -17,7 +17,7 @@ #include "test_macros.h" #include "pointer_comparison_test_helper.hpp" -int main() +int main(int, char**) { typedef std::less<int> F; const F f = F(); @@ -48,4 +48,6 @@ int main() constexpr bool bar = std::less<> () (36.0, 36); static_assert ( !bar, "" ); #endif + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/comparisons/less_equal.pass.cpp b/libcxx/test/std/utilities/function.objects/comparisons/less_equal.pass.cpp index 2e733042409..31cbed17172 100644 --- a/libcxx/test/std/utilities/function.objects/comparisons/less_equal.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/comparisons/less_equal.pass.cpp @@ -17,7 +17,7 @@ #include "test_macros.h" #include "pointer_comparison_test_helper.hpp" -int main() +int main(int, char**) { typedef std::less_equal<int> F; const F f = F(); @@ -49,4 +49,6 @@ int main() constexpr bool bar = std::less_equal<> () (36.0, 36); static_assert ( bar, "" ); #endif + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/comparisons/not_equal_to.pass.cpp b/libcxx/test/std/utilities/function.objects/comparisons/not_equal_to.pass.cpp index fd329157058..0e405de1be9 100644 --- a/libcxx/test/std/utilities/function.objects/comparisons/not_equal_to.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/comparisons/not_equal_to.pass.cpp @@ -16,7 +16,7 @@ #include "test_macros.h" -int main() +int main(int, char**) { typedef std::not_equal_to<int> F; const F f = F(); @@ -41,4 +41,6 @@ int main() constexpr bool bar = std::not_equal_to<> () (36.0, 36); static_assert ( !bar, "" ); #endif + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/comparisons/transparent.pass.cpp b/libcxx/test/std/utilities/function.objects/comparisons/transparent.pass.cpp index f3896770ec0..4be81925b7f 100644 --- a/libcxx/test/std/utilities/function.objects/comparisons/transparent.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/comparisons/transparent.pass.cpp @@ -22,7 +22,7 @@ public: }; -int main () +int main(int, char**) { static_assert ( !is_transparent<std::less<int>>::value, "" ); static_assert ( !is_transparent<std::less<std::string>>::value, "" ); diff --git a/libcxx/test/std/utilities/function.objects/func.def/nothing_to_do.pass.cpp b/libcxx/test/std/utilities/function.objects/func.def/nothing_to_do.pass.cpp index f77636c8475..1f764da05d6 100644 --- a/libcxx/test/std/utilities/function.objects/func.def/nothing_to_do.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.def/nothing_to_do.pass.cpp @@ -6,6 +6,8 @@ // //===----------------------------------------------------------------------===// -int main() +int main(int, char**) { + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.invoke/invoke.pass.cpp b/libcxx/test/std/utilities/function.objects/func.invoke/invoke.pass.cpp index b0a41447e05..57350f16c40 100644 --- a/libcxx/test/std/utilities/function.objects/func.invoke/invoke.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.invoke/invoke.pass.cpp @@ -340,9 +340,11 @@ void noexcept_test() { } } -int main() { +int main(int, char**) { bullet_one_two_tests(); bullet_three_four_tests(); bullet_five_tests(); noexcept_test(); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.invoke/invoke_feature_test_macro.pass.cpp b/libcxx/test/std/utilities/function.objects/func.invoke/invoke_feature_test_macro.pass.cpp index f7f63a0bd8b..b0404659d78 100644 --- a/libcxx/test/std/utilities/function.objects/func.invoke/invoke_feature_test_macro.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.invoke/invoke_feature_test_macro.pass.cpp @@ -31,8 +31,10 @@ int foo(int) { return 42; } -int main() { +int main(int, char**) { #if defined(__cpp_lib_invoke) assert(std::invoke(foo, 101) == 42); #endif + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.memfn/member_data.fail.cpp b/libcxx/test/std/utilities/function.objects/func.memfn/member_data.fail.cpp index 483f7a327c3..130644fbd29 100644 --- a/libcxx/test/std/utilities/function.objects/func.memfn/member_data.fail.cpp +++ b/libcxx/test/std/utilities/function.objects/func.memfn/member_data.fail.cpp @@ -35,7 +35,9 @@ test(F f) } } -int main() +int main(int, char**) { test(std::mem_fn(&A::data_)); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.memfn/member_data.pass.cpp b/libcxx/test/std/utilities/function.objects/func.memfn/member_data.pass.cpp index 75211ba21e0..52581881a5b 100644 --- a/libcxx/test/std/utilities/function.objects/func.memfn/member_data.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.memfn/member_data.pass.cpp @@ -36,7 +36,9 @@ test(F f) } } -int main() +int main(int, char**) { test(std::mem_fn(&A::data_)); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.memfn/member_function.pass.cpp b/libcxx/test/std/utilities/function.objects/func.memfn/member_function.pass.cpp index a04e49efa20..a271c067008 100644 --- a/libcxx/test/std/utilities/function.objects/func.memfn/member_function.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.memfn/member_function.pass.cpp @@ -65,7 +65,7 @@ test2(F f) } } -int main() +int main(int, char**) { test0(std::mem_fn(&A::test0)); test1(std::mem_fn(&A::test1)); @@ -73,4 +73,6 @@ int main() #if TEST_STD_VER >= 11 static_assert((noexcept(std::mem_fn(&A::test0))), ""); // LWG#2489 #endif + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.memfn/member_function_const.pass.cpp b/libcxx/test/std/utilities/function.objects/func.memfn/member_function_const.pass.cpp index 9ea6531a2ec..dc93196cdc3 100644 --- a/libcxx/test/std/utilities/function.objects/func.memfn/member_function_const.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.memfn/member_function_const.pass.cpp @@ -69,9 +69,11 @@ test2(F f) } } -int main() +int main(int, char**) { test0(std::mem_fn(&A::test0)); test1(std::mem_fn(&A::test1)); test2(std::mem_fn(&A::test2)); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.memfn/member_function_const_volatile.pass.cpp b/libcxx/test/std/utilities/function.objects/func.memfn/member_function_const_volatile.pass.cpp index 9258c0a03f4..594e1de8ad6 100644 --- a/libcxx/test/std/utilities/function.objects/func.memfn/member_function_const_volatile.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.memfn/member_function_const_volatile.pass.cpp @@ -69,9 +69,11 @@ test2(F f) } } -int main() +int main(int, char**) { test0(std::mem_fn(&A::test0)); test1(std::mem_fn(&A::test1)); test2(std::mem_fn(&A::test2)); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.memfn/member_function_volatile.pass.cpp b/libcxx/test/std/utilities/function.objects/func.memfn/member_function_volatile.pass.cpp index c22baecd9b8..04439387dfe 100644 --- a/libcxx/test/std/utilities/function.objects/func.memfn/member_function_volatile.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.memfn/member_function_volatile.pass.cpp @@ -69,9 +69,11 @@ test2(F f) } } -int main() +int main(int, char**) { test0(std::mem_fn(&A::test0)); test1(std::mem_fn(&A::test1)); test2(std::mem_fn(&A::test2)); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.not_fn/not_fn.pass.cpp b/libcxx/test/std/utilities/function.objects/func.not_fn/not_fn.pass.cpp index c3adbf7ffc5..a1c77841247 100644 --- a/libcxx/test/std/utilities/function.objects/func.not_fn/not_fn.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.not_fn/not_fn.pass.cpp @@ -602,7 +602,7 @@ void test_lwg2767() { } } -int main() +int main(int, char**) { constructor_tests(); return_type_tests(); @@ -612,4 +612,6 @@ int main() call_operator_forwarding_test(); call_operator_noexcept_test(); test_lwg2767(); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.require/INVOKE_tested_elsewhere.pass.cpp b/libcxx/test/std/utilities/function.objects/func.require/INVOKE_tested_elsewhere.pass.cpp index 2bb9cb58371..00b7d53be3a 100644 --- a/libcxx/test/std/utilities/function.objects/func.require/INVOKE_tested_elsewhere.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.require/INVOKE_tested_elsewhere.pass.cpp @@ -12,4 +12,6 @@ // since they require calling the implementation specific "__invoke" and // "__invoke_constexpr" functions. -int main() {} +int main(int, char**) { + return 0; +} diff --git a/libcxx/test/std/utilities/function.objects/func.require/binary_function.pass.cpp b/libcxx/test/std/utilities/function.objects/func.require/binary_function.pass.cpp index 76ba44fc994..79a4855ea02 100644 --- a/libcxx/test/std/utilities/function.objects/func.require/binary_function.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.require/binary_function.pass.cpp @@ -15,10 +15,12 @@ #include <functional> #include <type_traits> -int main() +int main(int, char**) { typedef std::binary_function<int, short, bool> bf; static_assert((std::is_same<bf::first_argument_type, int>::value), ""); static_assert((std::is_same<bf::second_argument_type, short>::value), ""); static_assert((std::is_same<bf::result_type, bool>::value), ""); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.require/unary_function.pass.cpp b/libcxx/test/std/utilities/function.objects/func.require/unary_function.pass.cpp index 0d178b0dc6d..f68b4b37c73 100644 --- a/libcxx/test/std/utilities/function.objects/func.require/unary_function.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.require/unary_function.pass.cpp @@ -15,9 +15,11 @@ #include <functional> #include <type_traits> -int main() +int main(int, char**) { typedef std::unary_function<int, bool> uf; static_assert((std::is_same<uf::argument_type, int>::value), ""); static_assert((std::is_same<uf::result_type, bool>::value), ""); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.search/func.search.bm/default.pass.cpp b/libcxx/test/std/utilities/function.objects/func.search/func.search.bm/default.pass.cpp index 3293a3215ed..55cde8fe777 100644 --- a/libcxx/test/std/utilities/function.objects/func.search/func.search.bm/default.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.search/func.search.bm/default.pass.cpp @@ -122,7 +122,9 @@ test2() do_search(Iter1(ij), Iter1(ij+sj), Iter2(ik), Iter2(ik+sk), Iter1(ij+6)); } -int main() { +int main(int, char**) { test<random_access_iterator<const int*>, random_access_iterator<const int*> >(); test2<random_access_iterator<const char*>, random_access_iterator<const char*> >(); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.search/func.search.bm/hash.pass.cpp b/libcxx/test/std/utilities/function.objects/func.search/func.search.bm/hash.pass.cpp index d0ce11b08bb..106b0d37f61 100644 --- a/libcxx/test/std/utilities/function.objects/func.search/func.search.bm/hash.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.search/func.search.bm/hash.pass.cpp @@ -118,7 +118,9 @@ test2() do_search(Iter1(ih), Iter1(ih+sh), Iter2(ii), Iter2(ii+3), Iter1(ih+3), sh*3); } -int main() { +int main(int, char**) { test<random_access_iterator<const int*>, random_access_iterator<const int*> >(); test2<random_access_iterator<const char*>, random_access_iterator<const char*> >(); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.search/func.search.bm/hash.pred.pass.cpp b/libcxx/test/std/utilities/function.objects/func.search/func.search.bm/hash.pred.pass.cpp index 59178deb613..be4db4e5a54 100644 --- a/libcxx/test/std/utilities/function.objects/func.search/func.search.bm/hash.pred.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.search/func.search.bm/hash.pred.pass.cpp @@ -136,7 +136,9 @@ test2() do_search(Iter1(ih), Iter1(ih+sh), Iter2(ii), Iter2(ii+3), Iter1(ih+3), sh*3); } -int main() { +int main(int, char**) { test<random_access_iterator<const int*>, random_access_iterator<const int*> >(); test2<random_access_iterator<const char*>, random_access_iterator<const char*> >(); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.search/func.search.bm/pred.pass.cpp b/libcxx/test/std/utilities/function.objects/func.search/func.search.bm/pred.pass.cpp index 7f3e837a70e..3656caa8749 100644 --- a/libcxx/test/std/utilities/function.objects/func.search/func.search.bm/pred.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.search/func.search.bm/pred.pass.cpp @@ -127,7 +127,9 @@ test2() do_search(Iter1(ih), Iter1(ih+sh), Iter2(ii), Iter2(ii+3), Iter1(ih+3), sh*3); } -int main() { +int main(int, char**) { test<random_access_iterator<const int*>, random_access_iterator<const int*> >(); test2<random_access_iterator<const char*>, random_access_iterator<const char*> >(); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/default.pass.cpp b/libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/default.pass.cpp index 04adb178bf1..0b345deedc1 100644 --- a/libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/default.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/default.pass.cpp @@ -122,7 +122,9 @@ test2() do_search(Iter1(ij), Iter1(ij+sj), Iter2(ik), Iter2(ik+sk), Iter1(ij+6)); } -int main() { +int main(int, char**) { test<random_access_iterator<const int*>, random_access_iterator<const int*> >(); test2<random_access_iterator<const char*>, random_access_iterator<const char*> >(); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/hash.pass.cpp b/libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/hash.pass.cpp index dca69117583..4106c5d6ae7 100644 --- a/libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/hash.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/hash.pass.cpp @@ -117,7 +117,9 @@ test2() do_search(Iter1(ih), Iter1(ih+sh), Iter2(ii), Iter2(ii+3), Iter1(ih+3), sh*3); } -int main() { +int main(int, char**) { test<random_access_iterator<const int*>, random_access_iterator<const int*> >(); test2<random_access_iterator<const char*>, random_access_iterator<const char*> >(); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/hash.pred.pass.cpp b/libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/hash.pred.pass.cpp index 6a5c215a7fd..757bcc75792 100644 --- a/libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/hash.pred.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/hash.pred.pass.cpp @@ -130,7 +130,9 @@ test2() do_search(Iter1(ih), Iter1(ih+sh), Iter2(ii), Iter2(ii+3), Iter1(ih+3), sh*3); } -int main() { +int main(int, char**) { test<random_access_iterator<const int*>, random_access_iterator<const int*> >(); test2<random_access_iterator<const char*>, random_access_iterator<const char*> >(); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/pred.pass.cpp b/libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/pred.pass.cpp index 27c3d0c82c2..3a20b88512f 100644 --- a/libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/pred.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/pred.pass.cpp @@ -124,7 +124,9 @@ test2() do_search(Iter1(ih), Iter1(ih+sh), Iter2(ii), Iter2(ii+3), Iter1(ih+3), sh*3); } -int main() { +int main(int, char**) { test<random_access_iterator<const int*>, random_access_iterator<const int*> >(); test2<random_access_iterator<const char*>, random_access_iterator<const char*> >(); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.search/func.search.default/default.pass.cpp b/libcxx/test/std/utilities/function.objects/func.search/func.search.default/default.pass.cpp index 098b8ac113d..eaf5eeb8273 100644 --- a/libcxx/test/std/utilities/function.objects/func.search/func.search.default/default.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.search/func.search.default/default.pass.cpp @@ -82,7 +82,7 @@ test() do_search(Iter1(ij), Iter1(ij+sj), Iter2(ik), Iter2(ik+sk), Iter1(ij+6)); } -int main() { +int main(int, char**) { test<forward_iterator<const int*>, forward_iterator<const int*> >(); test<forward_iterator<const int*>, bidirectional_iterator<const int*> >(); test<forward_iterator<const int*>, random_access_iterator<const int*> >(); @@ -92,4 +92,6 @@ int main() { test<random_access_iterator<const int*>, forward_iterator<const int*> >(); test<random_access_iterator<const int*>, bidirectional_iterator<const int*> >(); test<random_access_iterator<const int*>, random_access_iterator<const int*> >(); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.search/func.search.default/default.pred.pass.cpp b/libcxx/test/std/utilities/function.objects/func.search/func.search.default/default.pred.pass.cpp index 4b0f016d712..773336f6626 100644 --- a/libcxx/test/std/utilities/function.objects/func.search/func.search.default/default.pred.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.search/func.search.default/default.pred.pass.cpp @@ -89,7 +89,7 @@ test() do_search(Iter1(ih), Iter1(ih+sh), Iter2(ii), Iter2(ii+3), Iter1(ih+3), sh*3); } -int main() { +int main(int, char**) { test<forward_iterator<const int*>, forward_iterator<const int*> >(); test<forward_iterator<const int*>, bidirectional_iterator<const int*> >(); test<forward_iterator<const int*>, random_access_iterator<const int*> >(); @@ -99,4 +99,6 @@ int main() { test<random_access_iterator<const int*>, forward_iterator<const int*> >(); test<random_access_iterator<const int*>, bidirectional_iterator<const int*> >(); test<random_access_iterator<const int*>, random_access_iterator<const int*> >(); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.search/nothing_to_do.pass.cpp b/libcxx/test/std/utilities/function.objects/func.search/nothing_to_do.pass.cpp index 02fe32ece48..779762e7e99 100644 --- a/libcxx/test/std/utilities/function.objects/func.search/nothing_to_do.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.search/nothing_to_do.pass.cpp @@ -7,6 +7,8 @@ // //===----------------------------------------------------------------------===// -int main() +int main(int, char**) { + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.badcall/bad_function_call.pass.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.badcall/bad_function_call.pass.cpp index 2ec1d53c56e..eb223b88e49 100644 --- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.badcall/bad_function_call.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.badcall/bad_function_call.pass.cpp @@ -19,7 +19,9 @@ #include <functional> #include <type_traits> -int main() +int main(int, char**) { static_assert((std::is_base_of<std::exception, std::bad_function_call>::value), ""); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.badcall/func.wrap.badcall.const/bad_function_call_ctor.pass.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.badcall/func.wrap.badcall.const/bad_function_call_ctor.pass.cpp index 6b6ee8a64a7..385919227e0 100644 --- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.badcall/func.wrap.badcall.const/bad_function_call_ctor.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.badcall/func.wrap.badcall.const/bad_function_call_ctor.pass.cpp @@ -13,7 +13,9 @@ #include <functional> #include <type_traits> -int main() +int main(int, char**) { std::bad_function_call ex; + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/derive_from.fail.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/derive_from.fail.cpp index 50fb4f19d5b..2a34eff92e2 100644 --- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/derive_from.fail.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/derive_from.fail.cpp @@ -18,7 +18,9 @@ struct S : public std::function<void()> { using function::function; }; -int main() { +int main(int, char**) { S f1( [](){} ); S f2(std::allocator_arg, std::allocator<int>{}, f1); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/derive_from.pass.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/derive_from.pass.cpp index 8c50c284b42..70f68d2f49b 100644 --- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/derive_from.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/derive_from.pass.cpp @@ -20,10 +20,12 @@ using Fn = std::function<void()>; struct S : public std::function<void()> { using function::function; }; -int main() { +int main(int, char**) { S s( [](){} ); S f1( s ); #if TEST_STD_VER <= 14 S f2(std::allocator_arg, std::allocator<int>{}, s); #endif + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.alg/swap.pass.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.alg/swap.pass.cpp index b6dbcab5301..ec25bdf7802 100644 --- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.alg/swap.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.alg/swap.pass.cpp @@ -57,7 +57,7 @@ int A::count = 0; int g(int) {return 0;} int h(int) {return 1;} -int main() +int main(int, char**) { assert(globalMemCounter.checkOutstandingNewEq(0)); { @@ -132,4 +132,6 @@ int main() } assert(A::count == 0); assert(globalMemCounter.checkOutstandingNewEq(0)); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.cap/operator_bool.pass.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.cap/operator_bool.pass.cpp index 1b55baa02e1..ab5eef37270 100644 --- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.cap/operator_bool.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.cap/operator_bool.pass.cpp @@ -17,7 +17,7 @@ int g(int) {return 0;} -int main() +int main(int, char**) { { std::function<int(int)> f; @@ -25,4 +25,6 @@ int main() f = g; assert(f); } + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F.pass.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F.pass.cpp index c32baebb51d..fe5d24806b7 100644 --- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F.pass.cpp @@ -60,7 +60,7 @@ struct LValueCallable { }; #endif -int main() +int main(int, char**) { assert(globalMemCounter.checkOutstandingNewEq(0)); { @@ -111,4 +111,6 @@ int main() static_assert(!std::is_constructible<Fn, RValueCallable>::value, ""); } #endif + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F_assign.pass.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F_assign.pass.cpp index abff663cb72..f70a2087cc2 100644 --- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F_assign.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F_assign.pass.cpp @@ -63,7 +63,7 @@ struct LValueCallable { }; #endif -int main() +int main(int, char**) { assert(globalMemCounter.checkOutstandingNewEq(0)); { @@ -115,4 +115,6 @@ int main() static_assert(!std::is_assignable<Fn&, RValueCallable>::value, ""); } #endif + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F_incomplete.pass.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F_incomplete.pass.cpp index 1598486661c..21c2f216efe 100644 --- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F_incomplete.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F_incomplete.pass.cpp @@ -58,6 +58,8 @@ void test_pr34298() } } -int main() { +int main(int, char**) { test_pr34298(); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F_nullptr.pass.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F_nullptr.pass.cpp index 89b7876235e..ebea3d0aa95 100644 --- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F_nullptr.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F_nullptr.pass.cpp @@ -239,8 +239,10 @@ void test_md() { test_imp<int MemData::*, int(MemData&)>(); } -int main() { +int main(int, char**) { test_func(); test_mf(); test_md(); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc.fail.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc.fail.cpp index acbeb9f9c98..50a11fb8198 100644 --- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc.fail.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc.fail.cpp @@ -18,7 +18,9 @@ #include "min_allocator.h" -int main() +int main(int, char**) { std::function<int(int)> f(std::allocator_arg, std::allocator<int>()); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc.pass.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc.pass.cpp index b048109e54b..3b37ce6ffdc 100644 --- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc.pass.cpp @@ -20,10 +20,12 @@ #include "min_allocator.h" -int main() +int main(int, char**) { { std::function<int(int)> f(std::allocator_arg, bare_allocator<int>()); assert(!f); } + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_F.fail.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_F.fail.cpp index bddc9278719..c31c0a21f32 100644 --- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_F.fail.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_F.fail.cpp @@ -22,7 +22,9 @@ void foo(int) {} -int main() +int main(int, char**) { std::function<void(int)> f(std::allocator_arg, std::allocator<int>(), foo); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_F.pass.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_F.pass.cpp index 4d49434f317..6fa0d6faeaf 100644 --- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_F.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_F.pass.cpp @@ -106,7 +106,7 @@ void test_for_alloc(Alloc& alloc) { test_MemFunClass<int(MemFunClass::*)(int, int) const, int(MemFunClass&, int, int)>(alloc); } -int main() +int main(int, char**) { { bare_allocator<DummyClass> bare_alloc; @@ -126,4 +126,6 @@ int main() } #endif + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_function.fail.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_function.fail.cpp index b6703c0b7b9..621588f8156 100644 --- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_function.fail.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_function.fail.cpp @@ -21,9 +21,11 @@ #include "test_macros.h" -int main() +int main(int, char**) { typedef std::function<void(int)> F; F f1; F f2(std::allocator_arg, std::allocator<int>(), f1); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_function.pass.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_function.pass.cpp index 39050e6f153..583ca162ebf 100644 --- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_function.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_function.pass.cpp @@ -111,7 +111,7 @@ void test_for_alloc(Alloc& alloc) test_MemFunClass<int(MemFunClass::*)(int, int) const, int(MemFunClass&, int, int)>(alloc); } -int main() +int main(int, char**) { { bare_allocator<DummyClass> alloc; @@ -121,4 +121,6 @@ int main() non_default_test_allocator<DummyClass> alloc(42); test_for_alloc(alloc); } + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_nullptr.fail.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_nullptr.fail.cpp index 32d19ebf704..52bc528fe59 100644 --- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_nullptr.fail.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_nullptr.fail.cpp @@ -20,7 +20,9 @@ #include "min_allocator.h" -int main() +int main(int, char**) { std::function<int(int)> f(std::allocator_arg, std::allocator<int>(), nullptr); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_nullptr.pass.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_nullptr.pass.cpp index 6378a6cd9d3..653057f6ec9 100644 --- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_nullptr.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_nullptr.pass.cpp @@ -20,8 +20,10 @@ #include "min_allocator.h" -int main() +int main(int, char**) { std::function<int(int)> f(std::allocator_arg, bare_allocator<int>(), nullptr); assert(!f); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_rfunction.fail.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_rfunction.fail.cpp index 558b7814ced..643cad8f074 100644 --- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_rfunction.fail.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_rfunction.fail.cpp @@ -50,10 +50,12 @@ int A::count = 0; int g(int) { return 0; } -int main() +int main(int, char**) { { std::function<int(int)> f = A(); std::function<int(int)> f2(std::allocator_arg, std::allocator<A>(), std::move(f)); } + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_rfunction.pass.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_rfunction.pass.cpp index 8f379e30305..064046d0b2d 100644 --- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_rfunction.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_rfunction.pass.cpp @@ -54,7 +54,7 @@ int A::count = 0; int g(int) { return 0; } -int main() +int main(int, char**) { assert(globalMemCounter.checkOutstandingNewEq(0)); { @@ -105,4 +105,6 @@ int main() assert(f2.target<Ptr>()); assert(f.target<Ptr>()); // f is unchanged because the target is small } + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/copy_assign.pass.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/copy_assign.pass.cpp index df2a43aba9d..d7b11ae1bfd 100644 --- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/copy_assign.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/copy_assign.pass.cpp @@ -48,7 +48,7 @@ int g(int) { return 0; } int g2(int, int) { return 2; } int g3(int, int, int) { return 3; } -int main() { +int main(int, char**) { assert(globalMemCounter.checkOutstandingNewEq(0)); { std::function<int(int)> f = A(); @@ -134,4 +134,6 @@ int main() { assert(f.target<int (*)(int)>() == 0); } #endif + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/copy_move.pass.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/copy_move.pass.cpp index 9f03ee7a1f9..dbbde5ce473 100644 --- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/copy_move.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/copy_move.pass.cpp @@ -50,7 +50,7 @@ int A::count = 0; int g(int) {return 0;} -int main() +int main(int, char**) { assert(globalMemCounter.checkOutstandingNewEq(0)); { @@ -161,4 +161,6 @@ int main() LIBCPP_ASSERT(f.target<Ptr>()); // f is unchanged because the target is small } #endif // TEST_STD_VER >= 11 + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/default.pass.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/default.pass.cpp index 06ea4e058d0..46c14ce368b 100644 --- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/default.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/default.pass.cpp @@ -15,8 +15,10 @@ #include <functional> #include <cassert> -int main() +int main(int, char**) { std::function<int(int)> f; assert(!f); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/move_reentrant.pass.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/move_reentrant.pass.cpp index 026cfc2d484..e15fbbaae54 100644 --- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/move_reentrant.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/move_reentrant.pass.cpp @@ -33,7 +33,7 @@ struct A std::function<void()> A::global; bool A::cancel = false; -int main() +int main(int, char**) { A::global = A(); assert(A::global.target<A>()); @@ -42,4 +42,6 @@ int main() A::cancel = true; A::global = std::function<void()>(nullptr); assert(!A::global.target<A>()); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/nullptr_t.pass.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/nullptr_t.pass.cpp index b685d53bfa0..d58e191c470 100644 --- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/nullptr_t.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/nullptr_t.pass.cpp @@ -15,8 +15,10 @@ #include <functional> #include <cassert> -int main() +int main(int, char**) { std::function<int(int)> f(nullptr); assert(!f); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/nullptr_t_assign.pass.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/nullptr_t_assign.pass.cpp index 7a8d3e380e2..ff81080ffda 100644 --- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/nullptr_t_assign.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/nullptr_t_assign.pass.cpp @@ -46,7 +46,7 @@ int A::count = 0; int g(int) {return 0;} -int main() +int main(int, char**) { assert(globalMemCounter.checkOutstandingNewEq(0)); { @@ -68,4 +68,6 @@ int main() assert(globalMemCounter.checkOutstandingNewEq(0)); assert(f.target<int(*)(int)>() == 0); } + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/nullptr_t_assign_reentrant.pass.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/nullptr_t_assign_reentrant.pass.cpp index c4006a7c9fd..def86085ddb 100644 --- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/nullptr_t_assign_reentrant.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/nullptr_t_assign_reentrant.pass.cpp @@ -33,7 +33,7 @@ struct A std::function<void()> A::global; bool A::cancel = false; -int main() +int main(int, char**) { A::global = A(); assert(A::global.target<A>()); @@ -42,4 +42,6 @@ int main() A::cancel = true; A::global = nullptr; assert(!A::global.target<A>()); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.inv/invoke.fail.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.inv/invoke.fail.cpp index 5f91e5c87d9..0f8e051d406 100644 --- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.inv/invoke.fail.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.inv/invoke.fail.cpp @@ -39,7 +39,9 @@ test_int_1() } } -int main() +int main(int, char**) { test_int_1(); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.inv/invoke.pass.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.inv/invoke.pass.cpp index 7775cad6773..fb67a3abf4a 100644 --- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.inv/invoke.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.inv/invoke.pass.cpp @@ -401,7 +401,7 @@ void test_int_2() } } -int main() +int main(int, char**) { test_void_0(); test_int_0(); @@ -409,4 +409,6 @@ int main() test_int_1(); test_void_2(); test_int_2(); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.mod/assign_F_alloc.pass.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.mod/assign_F_alloc.pass.cpp index 5a6f503a284..8ddd1cd2b18 100644 --- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.mod/assign_F_alloc.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.mod/assign_F_alloc.pass.cpp @@ -48,7 +48,7 @@ public: int A::count = 0; -int main() +int main(int, char**) { #if TEST_STD_VER <= 14 { @@ -60,4 +60,6 @@ int main() } assert(A::count == 0); #endif + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.mod/swap.pass.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.mod/swap.pass.cpp index a75aee33048..93997a0b55f 100644 --- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.mod/swap.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.mod/swap.pass.cpp @@ -57,7 +57,7 @@ int h(int) { return 1; } int g2(int, int) { return 2; } int g3(int, int, int) { return 3; } -int main() { +int main(int, char**) { assert(globalMemCounter.checkOutstandingNewEq(0)); { std::function<int(int)> f1 = A(1); @@ -189,4 +189,6 @@ int main() { } assert(globalMemCounter.checkOutstandingNewEq(0)); assert(A::count == 0); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.nullptr/operator_==.pass.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.nullptr/operator_==.pass.cpp index c68a1ca8262..698a461c8f0 100644 --- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.nullptr/operator_==.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.nullptr/operator_==.pass.cpp @@ -27,7 +27,7 @@ int g(int) {return 0;} -int main() +int main(int, char**) { { std::function<int(int)> f; @@ -37,4 +37,6 @@ int main() assert(f != nullptr); assert(nullptr != f); } + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.targ/target.pass.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.targ/target.pass.cpp index 7b59b56d092..d5031ba06e7 100644 --- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.targ/target.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.targ/target.pass.cpp @@ -55,7 +55,7 @@ int A::count = 0; int g(int) {return 0;} -int main() +int main(int, char**) { { std::function<int(int)> f = A(); @@ -89,4 +89,6 @@ int main() assert(f.target<int>() == nullptr); } assert(A::count == 0); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.targ/target_type.pass.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.targ/target_type.pass.cpp index 52d07a45a50..d9c8fc48d75 100644 --- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.targ/target_type.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.targ/target_type.pass.cpp @@ -47,7 +47,7 @@ int A::count = 0; int g(int) {return 0;} -int main() +int main(int, char**) { { std::function<int(int)> f = A(); @@ -57,4 +57,6 @@ int main() std::function<int(int)> f; assert(f.target_type() == typeid(void)); } + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/types.pass.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/types.pass.cpp index 496dee8ae75..8083ad83ac0 100644 --- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/types.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/types.pass.cpp @@ -98,10 +98,12 @@ void test_other_function () static_assert((!has_second_argument_type<F>::value), "" ); } -int main() +int main(int, char**) { test_nullary_function<std::function<int()>, int>(); test_unary_function <std::function<double(int)>, double, int>(); test_binary_function <std::function<double(int, char)>, double, int, char>(); test_other_function <std::function<double(int, char, double)>, double>(); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/func.wrap/nothing_to_do.pass.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/nothing_to_do.pass.cpp index f77636c8475..1f764da05d6 100644 --- a/libcxx/test/std/utilities/function.objects/func.wrap/nothing_to_do.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/nothing_to_do.pass.cpp @@ -6,6 +6,8 @@ // //===----------------------------------------------------------------------===// -int main() +int main(int, char**) { + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/logical.operations/logical_and.pass.cpp b/libcxx/test/std/utilities/function.objects/logical.operations/logical_and.pass.cpp index 1b0a1c63f16..29767a58c48 100644 --- a/libcxx/test/std/utilities/function.objects/logical.operations/logical_and.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/logical.operations/logical_and.pass.cpp @@ -16,7 +16,7 @@ #include "test_macros.h" -int main() +int main(int, char**) { typedef std::logical_and<int> F; const F f = F(); @@ -48,4 +48,6 @@ int main() constexpr bool bar = std::logical_and<> () (36.0, 36); static_assert ( bar, "" ); #endif + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/logical.operations/logical_not.pass.cpp b/libcxx/test/std/utilities/function.objects/logical.operations/logical_not.pass.cpp index 2c0c9f3bc90..e93fd06fdd5 100644 --- a/libcxx/test/std/utilities/function.objects/logical.operations/logical_not.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/logical.operations/logical_not.pass.cpp @@ -16,7 +16,7 @@ #include "test_macros.h" -int main() +int main(int, char**) { typedef std::logical_not<int> F; const F f = F(); @@ -38,4 +38,6 @@ int main() constexpr bool bar = std::logical_not<> () (36); static_assert ( !bar, "" ); #endif + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/logical.operations/logical_or.pass.cpp b/libcxx/test/std/utilities/function.objects/logical.operations/logical_or.pass.cpp index 497a9d981f1..abe536572ea 100644 --- a/libcxx/test/std/utilities/function.objects/logical.operations/logical_or.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/logical.operations/logical_or.pass.cpp @@ -16,7 +16,7 @@ #include "test_macros.h" -int main() +int main(int, char**) { typedef std::logical_or<int> F; const F f = F(); @@ -47,4 +47,6 @@ int main() constexpr bool bar = std::logical_or<> () (36.0, 36); static_assert ( bar, "" ); #endif + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/logical.operations/transparent.pass.cpp b/libcxx/test/std/utilities/function.objects/logical.operations/transparent.pass.cpp index 3aa24c44330..eb590b31a01 100644 --- a/libcxx/test/std/utilities/function.objects/logical.operations/transparent.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/logical.operations/transparent.pass.cpp @@ -22,7 +22,7 @@ public: }; -int main () +int main(int, char**) { static_assert ( !is_transparent<std::logical_and<int>>::value, "" ); static_assert ( !is_transparent<std::logical_and<std::string>>::value, "" ); diff --git a/libcxx/test/std/utilities/function.objects/negators/binary_negate.depr_in_cxx17.fail.cpp b/libcxx/test/std/utilities/function.objects/negators/binary_negate.depr_in_cxx17.fail.cpp index ca8b76711cf..713afc66562 100644 --- a/libcxx/test/std/utilities/function.objects/negators/binary_negate.depr_in_cxx17.fail.cpp +++ b/libcxx/test/std/utilities/function.objects/negators/binary_negate.depr_in_cxx17.fail.cpp @@ -28,7 +28,9 @@ struct Predicate { bool operator()(first_argument_type, second_argument_type) const { return true; } }; -int main() { +int main(int, char**) { std::binary_negate<Predicate> f((Predicate())); // expected-error{{'binary_negate<Predicate>' is deprecated}} (void)f; + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/negators/binary_negate.pass.cpp b/libcxx/test/std/utilities/function.objects/negators/binary_negate.pass.cpp index 1e7edcb3242..41541c10ff1 100644 --- a/libcxx/test/std/utilities/function.objects/negators/binary_negate.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/negators/binary_negate.pass.cpp @@ -14,7 +14,7 @@ #include <type_traits> #include <cassert> -int main() +int main(int, char**) { typedef std::binary_negate<std::logical_and<int> > F; const F f = F(std::logical_and<int>()); @@ -25,4 +25,6 @@ int main() assert( f(36, 0)); assert( f(0, 36)); assert( f(0, 0)); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/negators/not1.depr_in_cxx17.fail.cpp b/libcxx/test/std/utilities/function.objects/negators/not1.depr_in_cxx17.fail.cpp index 9fbe6db66f9..407cbd4fc26 100644 --- a/libcxx/test/std/utilities/function.objects/negators/not1.depr_in_cxx17.fail.cpp +++ b/libcxx/test/std/utilities/function.objects/negators/not1.depr_in_cxx17.fail.cpp @@ -27,6 +27,8 @@ struct Predicate { bool operator()(argument_type) const { return true; } }; -int main() { +int main(int, char**) { std::not1(Predicate()); // expected-error{{'not1<Predicate>' is deprecated}} + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/negators/not1.pass.cpp b/libcxx/test/std/utilities/function.objects/negators/not1.pass.cpp index 33268222b5d..07c160a97ab 100644 --- a/libcxx/test/std/utilities/function.objects/negators/not1.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/negators/not1.pass.cpp @@ -13,9 +13,11 @@ #include <functional> #include <cassert> -int main() +int main(int, char**) { typedef std::logical_not<int> F; assert(std::not1(F())(36)); assert(!std::not1(F())(0)); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/negators/not2.depr_in_cxx17.fail.cpp b/libcxx/test/std/utilities/function.objects/negators/not2.depr_in_cxx17.fail.cpp index 032ce3429dc..24178e0a05d 100644 --- a/libcxx/test/std/utilities/function.objects/negators/not2.depr_in_cxx17.fail.cpp +++ b/libcxx/test/std/utilities/function.objects/negators/not2.depr_in_cxx17.fail.cpp @@ -28,6 +28,8 @@ struct Predicate { bool operator()(first_argument_type, second_argument_type) const { return true; } }; -int main() { +int main(int, char**) { std::not2(Predicate()); // expected-error{{'not2<Predicate>' is deprecated}} + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/negators/not2.pass.cpp b/libcxx/test/std/utilities/function.objects/negators/not2.pass.cpp index 208d33b4a3e..d9f3c95fd89 100644 --- a/libcxx/test/std/utilities/function.objects/negators/not2.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/negators/not2.pass.cpp @@ -13,11 +13,13 @@ #include <functional> #include <cassert> -int main() +int main(int, char**) { typedef std::logical_and<int> F; assert(!std::not2(F())(36, 36)); assert( std::not2(F())(36, 0)); assert( std::not2(F())(0, 36)); assert( std::not2(F())(0, 0)); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/negators/unary_negate.depr_in_cxx17.fail.cpp b/libcxx/test/std/utilities/function.objects/negators/unary_negate.depr_in_cxx17.fail.cpp index 99cdf136d64..15a0a277826 100644 --- a/libcxx/test/std/utilities/function.objects/negators/unary_negate.depr_in_cxx17.fail.cpp +++ b/libcxx/test/std/utilities/function.objects/negators/unary_negate.depr_in_cxx17.fail.cpp @@ -27,7 +27,9 @@ struct Predicate { bool operator()(argument_type) const { return true; } }; -int main() { +int main(int, char**) { std::unary_negate<Predicate> f((Predicate())); // expected-error{{'unary_negate<Predicate>' is deprecated}} (void)f; + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/negators/unary_negate.pass.cpp b/libcxx/test/std/utilities/function.objects/negators/unary_negate.pass.cpp index ec00c3e32a2..54fd54f3969 100644 --- a/libcxx/test/std/utilities/function.objects/negators/unary_negate.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/negators/unary_negate.pass.cpp @@ -14,7 +14,7 @@ #include <type_traits> #include <cassert> -int main() +int main(int, char**) { typedef std::unary_negate<std::logical_not<int> > F; const F f = F(std::logical_not<int>()); @@ -22,4 +22,6 @@ int main() static_assert((std::is_same<F::result_type, bool>::value), "" ); assert(f(36)); assert(!f(0)); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.access/conversion.pass.cpp b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.access/conversion.pass.cpp index 5e67db520fb..c15989f003e 100644 --- a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.access/conversion.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.access/conversion.pass.cpp @@ -30,7 +30,7 @@ test(T& t) void f() {} -int main() +int main(int, char**) { void (*fp)() = f; test(fp); @@ -41,4 +41,6 @@ int main() test(i); const int j = 0; test(j); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.assign/copy_assign.pass.cpp b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.assign/copy_assign.pass.cpp index 16ce961126c..3ef0cdda869 100644 --- a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.assign/copy_assign.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.assign/copy_assign.pass.cpp @@ -42,7 +42,7 @@ test_function() assert(&r2.get() == &f); } -int main() +int main(int, char**) { void (*fp)() = f; test(fp); @@ -53,4 +53,6 @@ int main() test(i); const int j = 0; test(j); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.const/copy_ctor.pass.cpp b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.const/copy_ctor.pass.cpp index 64726b53ef8..355047d98ce 100644 --- a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.const/copy_ctor.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.const/copy_ctor.pass.cpp @@ -30,7 +30,7 @@ test(T& t) void f() {} -int main() +int main(int, char**) { void (*fp)() = f; test(fp); @@ -41,4 +41,6 @@ int main() test(i); const int j = 0; test(j); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.const/type_ctor.fail.cpp b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.const/type_ctor.fail.cpp index f7a6670b431..f02a9974d7d 100644 --- a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.const/type_ctor.fail.cpp +++ b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.const/type_ctor.fail.cpp @@ -17,7 +17,9 @@ #include <functional> #include <cassert> -int main() +int main(int, char**) { std::reference_wrapper<const int> r(3); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.const/type_ctor.pass.cpp b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.const/type_ctor.pass.cpp index 2cbb1a010f1..a43d0fd2510 100644 --- a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.const/type_ctor.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.const/type_ctor.pass.cpp @@ -29,7 +29,7 @@ test(T& t) void f() {} -int main() +int main(int, char**) { void (*fp)() = f; test(fp); @@ -40,4 +40,6 @@ int main() test(i); const int j = 0; test(j); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.helpers/cref_1.pass.cpp b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.helpers/cref_1.pass.cpp index b16a4b476c3..d4cb421f53e 100644 --- a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.helpers/cref_1.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.helpers/cref_1.pass.cpp @@ -15,9 +15,11 @@ #include <functional> #include <cassert> -int main() +int main(int, char**) { int i = 0; std::reference_wrapper<const int> r = std::cref(i); assert(&r.get() == &i); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.helpers/cref_2.pass.cpp b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.helpers/cref_2.pass.cpp index 3023f8da2a3..093b7e230fd 100644 --- a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.helpers/cref_2.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.helpers/cref_2.pass.cpp @@ -15,10 +15,12 @@ #include <functional> #include <cassert> -int main() +int main(int, char**) { const int i = 0; std::reference_wrapper<const int> r1 = std::cref(i); std::reference_wrapper<const int> r2 = std::cref(r1); assert(&r2.get() == &i); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.helpers/ref_1.fail.cpp b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.helpers/ref_1.fail.cpp index 9e283d1bfaf..c07028d21dd 100644 --- a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.helpers/ref_1.fail.cpp +++ b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.helpers/ref_1.fail.cpp @@ -22,7 +22,9 @@ struct A {}; const A source() {return A();} -int main() +int main(int, char**) { std::reference_wrapper<const A> r = std::ref(source()); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.helpers/ref_1.pass.cpp b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.helpers/ref_1.pass.cpp index a8af5aa4cfe..f64d8ad8cae 100644 --- a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.helpers/ref_1.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.helpers/ref_1.pass.cpp @@ -15,9 +15,11 @@ #include <functional> #include <cassert> -int main() +int main(int, char**) { int i = 0; std::reference_wrapper<int> r = std::ref(i); assert(&r.get() == &i); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.helpers/ref_2.pass.cpp b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.helpers/ref_2.pass.cpp index fee5009a73b..4fdaf992c64 100644 --- a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.helpers/ref_2.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.helpers/ref_2.pass.cpp @@ -22,7 +22,7 @@ bool is5 ( int i ) { return i == 5; } template <typename T> bool call_pred ( T pred ) { return pred(5); } -int main() +int main(int, char**) { { int i = 0; @@ -39,4 +39,6 @@ int main() assert(call_pred(std::ref(cp))); assert(cp.count() == 2); } + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.invoke/invoke.fail.cpp b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.invoke/invoke.fail.cpp index 6302c51b8ad..d54d5184c65 100644 --- a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.invoke/invoke.fail.cpp +++ b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.invoke/invoke.fail.cpp @@ -45,7 +45,9 @@ test_int_1() } } -int main() +int main(int, char**) { test_int_1(); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.invoke/invoke.pass.cpp b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.invoke/invoke.pass.cpp index 425bc6df0c8..fd31041330d 100644 --- a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.invoke/invoke.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.invoke/invoke.pass.cpp @@ -319,10 +319,12 @@ testint_2() } } -int main() +int main(int, char**) { test_void_1(); test_int_1(); test_void_2(); testint_2(); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.invoke/invoke_int_0.pass.cpp b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.invoke/invoke_int_0.pass.cpp index 37d7cfca9de..67cf51f3359 100644 --- a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.invoke/invoke_int_0.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.invoke/invoke_int_0.pass.cpp @@ -69,7 +69,9 @@ struct A_void_1 } }; -int main() +int main(int, char**) { test_int_0(); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.invoke/invoke_void_0.pass.cpp b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.invoke/invoke_void_0.pass.cpp index 735bfd890dd..18e65531333 100644 --- a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.invoke/invoke_void_0.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.invoke/invoke_void_0.pass.cpp @@ -61,7 +61,9 @@ test_void_0() } } -int main() +int main(int, char**) { test_void_0(); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/refwrap/type.pass.cpp b/libcxx/test/std/utilities/function.objects/refwrap/type.pass.cpp index ef46e15d0a0..d17ab8100ef 100644 --- a/libcxx/test/std/utilities/function.objects/refwrap/type.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/refwrap/type.pass.cpp @@ -17,7 +17,7 @@ class C {}; -int main() +int main(int, char**) { static_assert((std::is_same<std::reference_wrapper<C>::type, C>::value), ""); @@ -33,4 +33,6 @@ int main() int*(C::*)(double*)>::value), ""); static_assert((std::is_same<std::reference_wrapper<int (C::*)(double*) const volatile>::type, int (C::*)(double*) const volatile>::value), ""); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/refwrap/type_properties.pass.cpp b/libcxx/test/std/utilities/function.objects/refwrap/type_properties.pass.cpp index 14a06a9c316..17eef26f07a 100644 --- a/libcxx/test/std/utilities/function.objects/refwrap/type_properties.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/refwrap/type_properties.pass.cpp @@ -52,7 +52,7 @@ void test() #endif } -int main() +int main(int, char**) { test<int>(); test<double>(); @@ -60,4 +60,6 @@ int main() #if TEST_STD_VER >= 11 test<MoveOnly>(); #endif + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/refwrap/unwrap_ref_decay.pass.cpp b/libcxx/test/std/utilities/function.objects/refwrap/unwrap_ref_decay.pass.cpp index 9aaa2827997..1987898393c 100644 --- a/libcxx/test/std/utilities/function.objects/refwrap/unwrap_ref_decay.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/refwrap/unwrap_ref_decay.pass.cpp @@ -28,7 +28,7 @@ void check() { struct T { }; -int main() { +int main(int, char**) { check<T, T>(); check<T&, T>(); check<T const, T>(); @@ -54,4 +54,6 @@ int main() { check<std::reference_wrapper<T[3]>&, T (&)[3]>(); check<std::reference_wrapper<T ()>, T (&)()>(); check<std::reference_wrapper<T ()>&, T (&)()>(); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/refwrap/unwrap_reference.pass.cpp b/libcxx/test/std/utilities/function.objects/refwrap/unwrap_reference.pass.cpp index f6d48a51e8b..209d5e2a0bc 100644 --- a/libcxx/test/std/utilities/function.objects/refwrap/unwrap_reference.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/refwrap/unwrap_reference.pass.cpp @@ -39,7 +39,7 @@ void check() { struct T { }; -int main() { +int main(int, char**) { check<T>(); check<int>(); check<float>(); @@ -47,4 +47,6 @@ int main() { check<T*>(); check<int*>(); check<float*>(); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/refwrap/weak_result.pass.cpp b/libcxx/test/std/utilities/function.objects/refwrap/weak_result.pass.cpp index 50cda116932..5a6a41fdbe0 100644 --- a/libcxx/test/std/utilities/function.objects/refwrap/weak_result.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/refwrap/weak_result.pass.cpp @@ -68,7 +68,7 @@ public: static const bool value = sizeof(test<T>(0)) == 1; }; -int main() +int main(int, char**) { static_assert((std::is_same<std::reference_wrapper<functor1>::result_type, char>::value), ""); @@ -93,4 +93,6 @@ int main() static_assert(has_result_type<std::reference_wrapper<functor3> >::value, ""); static_assert(!has_result_type<std::reference_wrapper<functor4> >::value, ""); static_assert(!has_result_type<std::reference_wrapper<C> >::value, ""); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/unord.hash/enabled_hashes.pass.cpp b/libcxx/test/std/utilities/function.objects/unord.hash/enabled_hashes.pass.cpp index 90ab8e1bb79..8f6c3e14e2c 100644 --- a/libcxx/test/std/utilities/function.objects/unord.hash/enabled_hashes.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/unord.hash/enabled_hashes.pass.cpp @@ -17,6 +17,8 @@ #include "poisoned_hash_helper.hpp" -int main() { +int main(int, char**) { test_library_hash_specializations_available(); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/unord.hash/enum.fail.cpp b/libcxx/test/std/utilities/function.objects/unord.hash/enum.fail.cpp index b824b51ea79..2e36b4c5531 100644 --- a/libcxx/test/std/utilities/function.objects/unord.hash/enum.fail.cpp +++ b/libcxx/test/std/utilities/function.objects/unord.hash/enum.fail.cpp @@ -16,8 +16,10 @@ struct X {}; -int main() +int main(int, char**) { X x; size_t h = std::hash<X>{} ( x ); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/unord.hash/enum.pass.cpp b/libcxx/test/std/utilities/function.objects/unord.hash/enum.pass.cpp index 96c667febcb..e172bc2f346 100644 --- a/libcxx/test/std/utilities/function.objects/unord.hash/enum.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/unord.hash/enum.pass.cpp @@ -49,7 +49,7 @@ test() } } -int main() +int main(int, char**) { test<Cardinals>(); @@ -59,4 +59,6 @@ int main() test<EightBitColors>(); test<Fruits>(); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/unord.hash/floating.pass.cpp b/libcxx/test/std/utilities/function.objects/unord.hash/floating.pass.cpp index 1ab1643413a..31b1b2d07e4 100644 --- a/libcxx/test/std/utilities/function.objects/unord.hash/floating.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/unord.hash/floating.pass.cpp @@ -64,9 +64,11 @@ test() assert(pinf != ninf); } -int main() +int main(int, char**) { test<float>(); test<double>(); test<long double>(); + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/unord.hash/integral.pass.cpp b/libcxx/test/std/utilities/function.objects/unord.hash/integral.pass.cpp index 761c76dc141..dbd44a88207 100644 --- a/libcxx/test/std/utilities/function.objects/unord.hash/integral.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/unord.hash/integral.pass.cpp @@ -46,7 +46,7 @@ test() } } -int main() +int main(int, char**) { test<bool>(); test<char>(); @@ -108,4 +108,6 @@ int main() test<__int128_t>(); test<__uint128_t>(); #endif + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/unord.hash/non_enum.pass.cpp b/libcxx/test/std/utilities/function.objects/unord.hash/non_enum.pass.cpp index 6efcebc4ebe..c47f8fa76a4 100644 --- a/libcxx/test/std/utilities/function.objects/unord.hash/non_enum.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/unord.hash/non_enum.pass.cpp @@ -22,7 +22,7 @@ struct X {}; -int main() +int main(int, char**) { using H = std::hash<X>; static_assert(!std::is_default_constructible<H>::value, ""); @@ -34,4 +34,6 @@ int main() static_assert(!std::is_invocable<H, X&>::value, ""); static_assert(!std::is_invocable<H, X const&>::value, ""); #endif + + return 0; } diff --git a/libcxx/test/std/utilities/function.objects/unord.hash/pointer.pass.cpp b/libcxx/test/std/utilities/function.objects/unord.hash/pointer.pass.cpp index cbf2c736eab..17dfdce2d4a 100644 --- a/libcxx/test/std/utilities/function.objects/unord.hash/pointer.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/unord.hash/pointer.pass.cpp @@ -52,8 +52,10 @@ void test_nullptr() #endif } -int main() +int main(int, char**) { test<int*>(); test_nullptr(); + + return 0; } |