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/time/time.duration | |
| 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/time/time.duration')
61 files changed, 183 insertions, 61 deletions
diff --git a/libcxx/test/std/utilities/time/time.duration/default_ratio.pass.cpp b/libcxx/test/std/utilities/time/time.duration/default_ratio.pass.cpp index 92c015eef32..08870488c16 100644 --- a/libcxx/test/std/utilities/time/time.duration/default_ratio.pass.cpp +++ b/libcxx/test/std/utilities/time/time.duration/default_ratio.pass.cpp @@ -18,8 +18,10 @@ #include <chrono> #include <type_traits> -int main() +int main(int, char**) { static_assert((std::is_same<std::chrono::duration<int, std::ratio<1> >, std::chrono::duration<int> >::value), ""); + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/duration.fail.cpp b/libcxx/test/std/utilities/time/time.duration/duration.fail.cpp index 94e239c1f7c..02029c02bbe 100644 --- a/libcxx/test/std/utilities/time/time.duration/duration.fail.cpp +++ b/libcxx/test/std/utilities/time/time.duration/duration.fail.cpp @@ -15,8 +15,10 @@ #include <chrono> -int main() +int main(int, char**) { typedef std::chrono::duration<std::chrono::milliseconds> D; D d; + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/positive_num.fail.cpp b/libcxx/test/std/utilities/time/time.duration/positive_num.fail.cpp index 6e78f776561..737576205cf 100644 --- a/libcxx/test/std/utilities/time/time.duration/positive_num.fail.cpp +++ b/libcxx/test/std/utilities/time/time.duration/positive_num.fail.cpp @@ -14,8 +14,10 @@ #include <chrono> -int main() +int main(int, char**) { typedef std::chrono::duration<int, std::ratio<5, -1> > D; D d; + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/ratio.fail.cpp b/libcxx/test/std/utilities/time/time.duration/ratio.fail.cpp index 21873788a36..20298b772cb 100644 --- a/libcxx/test/std/utilities/time/time.duration/ratio.fail.cpp +++ b/libcxx/test/std/utilities/time/time.duration/ratio.fail.cpp @@ -22,8 +22,10 @@ public: static const int den = D; }; -int main() +int main(int, char**) { typedef std::chrono::duration<int, Ratio<1> > D; D d; + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.alg/abs.fail.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.alg/abs.fail.cpp index 6331dc95a9a..8d807c7a9b3 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.alg/abs.fail.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.alg/abs.fail.cpp @@ -20,7 +20,9 @@ typedef std::chrono::duration<unsigned> unsigned_secs; -int main() +int main(int, char**) { std::chrono::abs(unsigned_secs(0)); + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.alg/abs.pass.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.alg/abs.pass.cpp index 5cb52ba7623..06f9a7c7f03 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.alg/abs.pass.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.alg/abs.pass.cpp @@ -30,7 +30,7 @@ test(const Duration& f, const Duration& d) } } -int main() +int main(int, char**) { // 7290000ms is 2 hours, 1 minute, and 30 seconds test(std::chrono::milliseconds( 7290000), std::chrono::milliseconds( 7290000)); @@ -46,4 +46,6 @@ int main() constexpr std::chrono::hours h2 = std::chrono::abs(std::chrono::hours(3)); static_assert(h2.count() == 3, ""); } + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.arithmetic/op_++.pass.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.arithmetic/op_++.pass.cpp index 9d6566a082c..d0e47b7fa8d 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.arithmetic/op_++.pass.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.arithmetic/op_++.pass.cpp @@ -25,7 +25,7 @@ constexpr bool test_constexpr() } #endif -int main() +int main(int, char**) { { std::chrono::hours h(3); @@ -37,4 +37,6 @@ int main() #if TEST_STD_VER > 14 static_assert(test_constexpr(), ""); #endif + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.arithmetic/op_++int.pass.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.arithmetic/op_++int.pass.cpp index 78beffe2617..084819af3ce 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.arithmetic/op_++int.pass.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.arithmetic/op_++int.pass.cpp @@ -26,7 +26,7 @@ constexpr bool test_constexpr() } #endif -int main() +int main(int, char**) { { std::chrono::hours h1(3); @@ -38,4 +38,6 @@ int main() #if TEST_STD_VER > 14 static_assert(test_constexpr(), ""); #endif + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.arithmetic/op_+.pass.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.arithmetic/op_+.pass.cpp index 0b8f49fc38f..a9d136f792a 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.arithmetic/op_+.pass.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.arithmetic/op_+.pass.cpp @@ -17,7 +17,7 @@ #include "test_macros.h" -int main() +int main(int, char**) { { const std::chrono::minutes m(3); @@ -42,4 +42,6 @@ int main() static_assert( (std::is_same< decltype(zero+one), D1>::value), ""); static_assert( (std::is_same< decltype(+one), D1>::value), ""); } + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.arithmetic/op_+=.pass.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.arithmetic/op_+=.pass.cpp index 0e907b573b2..4247f2d5689 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.arithmetic/op_+=.pass.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.arithmetic/op_+=.pass.cpp @@ -28,7 +28,7 @@ constexpr bool test_constexpr() } #endif -int main() +int main(int, char**) { { std::chrono::seconds s(3); @@ -41,4 +41,6 @@ int main() #if TEST_STD_VER > 14 static_assert(test_constexpr(), ""); #endif + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.arithmetic/op_--.pass.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.arithmetic/op_--.pass.cpp index c9f1278a376..cfdb7075b37 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.arithmetic/op_--.pass.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.arithmetic/op_--.pass.cpp @@ -25,7 +25,7 @@ constexpr bool test_constexpr() } #endif -int main() +int main(int, char**) { { std::chrono::hours h(3); @@ -37,4 +37,6 @@ int main() #if TEST_STD_VER > 14 static_assert(test_constexpr(), ""); #endif + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.arithmetic/op_--int.pass.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.arithmetic/op_--int.pass.cpp index 5abecee1648..4afb86e0caf 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.arithmetic/op_--int.pass.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.arithmetic/op_--int.pass.cpp @@ -27,7 +27,7 @@ constexpr bool test_constexpr() #endif -int main() +int main(int, char**) { { std::chrono::hours h1(3); @@ -39,4 +39,6 @@ int main() #if TEST_STD_VER > 14 static_assert(test_constexpr(), ""); #endif + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.arithmetic/op_-.pass.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.arithmetic/op_-.pass.cpp index f7ab6d2e299..fe065ff5f99 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.arithmetic/op_-.pass.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.arithmetic/op_-.pass.cpp @@ -17,7 +17,7 @@ #include "test_macros.h" -int main() +int main(int, char**) { { const std::chrono::minutes m(3); @@ -43,4 +43,6 @@ int main() static_assert( (std::is_same< decltype(-one), D1>::value), ""); static_assert( (std::is_same< decltype(+one), D1>::value), ""); } + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.arithmetic/op_-=.pass.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.arithmetic/op_-=.pass.cpp index 1752d5257b8..b457619e154 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.arithmetic/op_-=.pass.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.arithmetic/op_-=.pass.cpp @@ -28,7 +28,7 @@ constexpr bool test_constexpr() } #endif -int main() +int main(int, char**) { { std::chrono::seconds s(3); @@ -41,4 +41,6 @@ int main() #if TEST_STD_VER > 14 static_assert(test_constexpr(), ""); #endif + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.arithmetic/op_divide=.pass.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.arithmetic/op_divide=.pass.cpp index 4f79398f73b..753ea5a8bc1 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.arithmetic/op_divide=.pass.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.arithmetic/op_divide=.pass.cpp @@ -26,7 +26,7 @@ constexpr bool test_constexpr() } #endif -int main() +int main(int, char**) { { std::chrono::nanoseconds ns(15); @@ -37,4 +37,6 @@ int main() #if TEST_STD_VER > 14 static_assert(test_constexpr(), ""); #endif + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.arithmetic/op_mod=duration.pass.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.arithmetic/op_mod=duration.pass.cpp index 89b550d015c..649f4aa1a4c 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.arithmetic/op_mod=duration.pass.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.arithmetic/op_mod=duration.pass.cpp @@ -27,7 +27,7 @@ constexpr bool test_constexpr() } #endif -int main() +int main(int, char**) { { std::chrono::microseconds us1(11); @@ -41,4 +41,6 @@ int main() #if TEST_STD_VER > 14 static_assert(test_constexpr(), ""); #endif + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.arithmetic/op_mod=rep.pass.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.arithmetic/op_mod=rep.pass.cpp index 8ef16c7ff7c..0eb73ee674f 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.arithmetic/op_mod=rep.pass.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.arithmetic/op_mod=rep.pass.cpp @@ -26,7 +26,7 @@ constexpr bool test_constexpr() } #endif -int main() +int main(int, char**) { { std::chrono::microseconds us(11); @@ -37,4 +37,6 @@ int main() #if TEST_STD_VER > 14 static_assert(test_constexpr(), ""); #endif + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.arithmetic/op_times=.pass.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.arithmetic/op_times=.pass.cpp index b4b76fb6f50..51c20c50764 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.arithmetic/op_times=.pass.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.arithmetic/op_times=.pass.cpp @@ -26,7 +26,7 @@ constexpr bool test_constexpr() } #endif -int main() +int main(int, char**) { { std::chrono::nanoseconds ns(3); @@ -37,4 +37,6 @@ int main() #if TEST_STD_VER > 14 static_assert(test_constexpr(), ""); #endif + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.cast/ceil.fail.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.cast/ceil.fail.cpp index e557bc21fb5..a9711f448c8 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.cast/ceil.fail.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.cast/ceil.fail.cpp @@ -19,7 +19,9 @@ #include <chrono> -int main() +int main(int, char**) { std::chrono::ceil<int>(std::chrono::milliseconds(3)); + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.cast/ceil.pass.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.cast/ceil.pass.cpp index b509182c41e..a6e1982d044 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.cast/ceil.pass.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.cast/ceil.pass.cpp @@ -32,7 +32,7 @@ test(const FromDuration& f, const ToDuration& d) } } -int main() +int main(int, char**) { // 7290000ms is 2 hours, 1 minute, and 30 seconds test(std::chrono::milliseconds( 7290000), std::chrono::hours( 3)); @@ -47,4 +47,6 @@ int main() constexpr std::chrono::hours h2 = std::chrono::ceil<std::chrono::hours>(std::chrono::milliseconds(-9000000)); static_assert(h2.count() == -2, ""); } + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.cast/duration_cast.pass.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.cast/duration_cast.pass.cpp index 5187d3d0e7c..4151756764a 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.cast/duration_cast.pass.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.cast/duration_cast.pass.cpp @@ -32,7 +32,7 @@ test(const FromDuration& f, const ToDuration& d) } } -int main() +int main(int, char**) { test(std::chrono::milliseconds(7265000), std::chrono::hours(2)); test(std::chrono::milliseconds(7265000), std::chrono::minutes(121)); @@ -50,4 +50,6 @@ int main() static_assert(h.count() == 2, ""); } #endif + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.cast/floor.fail.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.cast/floor.fail.cpp index 62dd5a51d60..c119a800cfa 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.cast/floor.fail.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.cast/floor.fail.cpp @@ -19,7 +19,9 @@ #include <chrono> -int main() +int main(int, char**) { std::chrono::floor<int>(std::chrono::milliseconds(3)); + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.cast/floor.pass.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.cast/floor.pass.cpp index 29142bdcf3e..6783b1f67ed 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.cast/floor.pass.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.cast/floor.pass.cpp @@ -31,7 +31,7 @@ test(const FromDuration& f, const ToDuration& d) } } -int main() +int main(int, char**) { // 7290000ms is 2 hours, 1 minute, and 30 seconds test(std::chrono::milliseconds( 7290000), std::chrono::hours( 2)); @@ -46,4 +46,6 @@ int main() constexpr std::chrono::hours h2 = std::chrono::floor<std::chrono::hours>(std::chrono::milliseconds(-9000000)); static_assert(h2.count() == -3, ""); } + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.cast/round.fail.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.cast/round.fail.cpp index aadfbfdc47e..93366b83618 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.cast/round.fail.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.cast/round.fail.cpp @@ -19,7 +19,9 @@ #include <chrono> -int main() +int main(int, char**) { std::chrono::round<int>(std::chrono::milliseconds(3)); + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.cast/round.pass.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.cast/round.pass.cpp index b0789b7917d..ebd2e3194a4 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.cast/round.pass.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.cast/round.pass.cpp @@ -31,7 +31,7 @@ test(const FromDuration& f, const ToDuration& d) } } -int main() +int main(int, char**) { // 7290000ms is 2 hours, 1 minute, and 30 seconds test(std::chrono::milliseconds( 7290000), std::chrono::hours( 2)); @@ -46,4 +46,6 @@ int main() constexpr std::chrono::hours h2 = std::chrono::round<std::chrono::hours>(std::chrono::milliseconds(-9000000)); static_assert(h2.count() == -2, ""); } + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.cast/toduration.fail.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.cast/toduration.fail.cpp index a46aa526bda..0f52c36d86c 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.cast/toduration.fail.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.cast/toduration.fail.cpp @@ -18,7 +18,9 @@ #include <chrono> -int main() +int main(int, char**) { std::chrono::duration_cast<int>(std::chrono::milliseconds(3)); + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.comparisons/op_equal.pass.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.comparisons/op_equal.pass.cpp index 912d22fdf0e..c27b528017e 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.comparisons/op_equal.pass.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.comparisons/op_equal.pass.cpp @@ -25,7 +25,7 @@ #include "test_macros.h" -int main() +int main(int, char**) { { std::chrono::seconds s1(3); @@ -113,4 +113,6 @@ int main() static_assert(!(s1 != s2), ""); } #endif + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.comparisons/op_less.pass.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.comparisons/op_less.pass.cpp index 9eea6ceb3bd..de476357650 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.comparisons/op_less.pass.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.comparisons/op_less.pass.cpp @@ -35,7 +35,7 @@ #include "test_macros.h" -int main() +int main(int, char**) { { std::chrono::seconds s1(3); @@ -151,4 +151,6 @@ int main() static_assert( (s1 >= s2), ""); } #endif + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.cons/convert_exact.pass.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.cons/convert_exact.pass.cpp index 0f6fb8d3590..4c0af92b23d 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.cons/convert_exact.pass.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.cons/convert_exact.pass.cpp @@ -20,7 +20,7 @@ #include "test_macros.h" -int main() +int main(int, char**) { { std::chrono::milliseconds ms(1); @@ -34,4 +34,6 @@ int main() static_assert(us.count() == 1000, ""); } #endif + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.cons/convert_float_to_int.fail.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.cons/convert_float_to_int.fail.cpp index b35c01c40ec..4311c1bde38 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.cons/convert_float_to_int.fail.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.cons/convert_float_to_int.fail.cpp @@ -17,8 +17,10 @@ #include <chrono> -int main() +int main(int, char**) { std::chrono::duration<double> d; std::chrono::duration<int> i = d; + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.cons/convert_inexact.fail.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.cons/convert_inexact.fail.cpp index b66b2f3c601..fb0b488f7d8 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.cons/convert_inexact.fail.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.cons/convert_inexact.fail.cpp @@ -17,8 +17,10 @@ #include <chrono> -int main() +int main(int, char**) { std::chrono::microseconds us(1); std::chrono::milliseconds ms = us; + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.cons/convert_inexact.pass.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.cons/convert_inexact.pass.cpp index 5624327badc..f72c69c7ef1 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.cons/convert_inexact.pass.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.cons/convert_inexact.pass.cpp @@ -20,7 +20,7 @@ #include "test_macros.h" -int main() +int main(int, char**) { { std::chrono::duration<double, std::micro> us(1); @@ -34,4 +34,6 @@ int main() static_assert(ms.count() == 1./1000, ""); } #endif + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.cons/convert_int_to_float.pass.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.cons/convert_int_to_float.pass.cpp index a63471bc37d..fb127226a6c 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.cons/convert_int_to_float.pass.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.cons/convert_int_to_float.pass.cpp @@ -20,7 +20,7 @@ #include "test_macros.h" -int main() +int main(int, char**) { { std::chrono::duration<int> i(3); @@ -34,4 +34,6 @@ int main() static_assert(d.count() == 3000, ""); } #endif + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.cons/convert_overflow.pass.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.cons/convert_overflow.pass.cpp index 68484d1fb51..5b963f2b1f4 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.cons/convert_overflow.pass.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.cons/convert_overflow.pass.cpp @@ -26,11 +26,13 @@ void f(std::chrono::seconds) called = true; } -int main() +int main(int, char**) { { std::chrono::duration<int, std::exa> r(1); f(r); assert(called); } + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.cons/default.pass.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.cons/default.pass.cpp index 9edcd46f902..c598afa3651 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.cons/default.pass.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.cons/default.pass.cpp @@ -32,7 +32,9 @@ test() #endif } -int main() +int main(int, char**) { test<std::chrono::duration<Rep> >(); + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.cons/rep.pass.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.cons/rep.pass.cpp index f89263bf9b0..d1a808ba154 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.cons/rep.pass.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.cons/rep.pass.cpp @@ -31,10 +31,12 @@ test(R r) #endif } -int main() +int main(int, char**) { test<std::chrono::duration<int> >(5); test<std::chrono::duration<int, std::ratio<3, 2> > >(5); test<std::chrono::duration<Rep, std::ratio<3, 2> > >(Rep(3)); test<std::chrono::duration<double, std::ratio<2, 3> > >(5.5); + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.cons/rep01.fail.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.cons/rep01.fail.cpp index fc6f5700a6a..f1e60f5e54d 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.cons/rep01.fail.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.cons/rep01.fail.cpp @@ -19,7 +19,9 @@ #include "../../rep.h" -int main() +int main(int, char**) { std::chrono::duration<int> d = 1; + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.cons/rep02.fail.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.cons/rep02.fail.cpp index bdbe7211b81..4a09325065c 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.cons/rep02.fail.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.cons/rep02.fail.cpp @@ -19,7 +19,9 @@ #include "../../rep.h" -int main() +int main(int, char**) { std::chrono::duration<Rep> d(1); + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.cons/rep02.pass.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.cons/rep02.pass.cpp index 3ecb76135e1..1719b1302ba 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.cons/rep02.pass.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.cons/rep02.pass.cpp @@ -20,7 +20,7 @@ #include "test_macros.h" -int main() +int main(int, char**) { std::chrono::duration<double> d(5); assert(d.count() == 5); @@ -28,4 +28,6 @@ int main() constexpr std::chrono::duration<double> d2(5); static_assert(d2.count() == 5, ""); #endif + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.cons/rep03.fail.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.cons/rep03.fail.cpp index 831370994ee..6b4d0020379 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.cons/rep03.fail.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.cons/rep03.fail.cpp @@ -17,7 +17,9 @@ #include <chrono> -int main() +int main(int, char**) { std::chrono::duration<int> d(1.); + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.literals/literals.pass.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.literals/literals.pass.cpp index 13ad165b7bf..0d924f8f70b 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.literals/literals.pass.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.literals/literals.pass.cpp @@ -15,7 +15,7 @@ #include "test_macros.h" -int main() +int main(int, char**) { using namespace std::literals::chrono_literals; @@ -57,4 +57,6 @@ int main() auto ns2 = 645.ns; assert ( ns == ns2 ); + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.literals/literals1.fail.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.literals/literals1.fail.cpp index 025100c5928..97e29e87682 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.literals/literals1.fail.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.literals/literals1.fail.cpp @@ -11,8 +11,10 @@ #include <chrono> #include <cassert> -int main() +int main(int, char**) { std::chrono::hours h = 4h; // should fail w/conversion operator not found + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.literals/literals1.pass.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.literals/literals1.pass.cpp index 9ca29086777..2e5b7bbb87b 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.literals/literals1.pass.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.literals/literals1.pass.cpp @@ -11,7 +11,7 @@ #include <chrono> #include <cassert> -int main() +int main(int, char**) { using namespace std::chrono; @@ -67,4 +67,6 @@ int main() assert(November == month(11)); assert(December == month(12)); #endif + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.literals/literals2.fail.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.literals/literals2.fail.cpp index 5c38db52713..dbc91559031 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.literals/literals2.fail.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.literals/literals2.fail.cpp @@ -11,9 +11,11 @@ #include <chrono> #include <cassert> -int main() +int main(int, char**) { using std::chrono::hours; hours foo = 4h; // should fail w/conversion operator not found + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.literals/literals2.pass.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.literals/literals2.pass.cpp index 40709103254..d0b8b33e493 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.literals/literals2.pass.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.literals/literals2.pass.cpp @@ -13,7 +13,7 @@ #include <type_traits> #include <cassert> -int main() +int main(int, char**) { using namespace std::literals; @@ -46,4 +46,6 @@ int main() assert ( ns == std::chrono::nanoseconds(645)); auto ns2 = 645.ns; assert ( ns == ns2 ); + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.nonmember/op_+.pass.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.nonmember/op_+.pass.cpp index 30aa62cd9d1..ad381f00565 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.nonmember/op_+.pass.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.nonmember/op_+.pass.cpp @@ -19,7 +19,7 @@ #include "test_macros.h" -int main() +int main(int, char**) { { std::chrono::seconds s1(3); @@ -71,4 +71,6 @@ int main() static_assert(r.count() == 75, ""); } #endif + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.nonmember/op_-.pass.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.nonmember/op_-.pass.cpp index cb0a53fdf54..86ced3fbcbd 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.nonmember/op_-.pass.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.nonmember/op_-.pass.cpp @@ -20,7 +20,7 @@ #include "test_macros.h" -int main() +int main(int, char**) { { std::chrono::seconds s1(3); @@ -72,4 +72,6 @@ int main() static_assert(r.count() == -15, ""); } #endif + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.nonmember/op_divide_duration.pass.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.nonmember/op_divide_duration.pass.cpp index 40f521bae01..e4190fe3385 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.nonmember/op_divide_duration.pass.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.nonmember/op_divide_duration.pass.cpp @@ -21,7 +21,7 @@ #include "test_macros.h" #include "truncate_fp.h" -int main() +int main(int, char**) { { std::chrono::nanoseconds ns1(15); @@ -65,4 +65,6 @@ int main() static_assert(s1 / s2 == 20./3, ""); } #endif + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.nonmember/op_divide_rep.fail.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.nonmember/op_divide_rep.fail.cpp index 41c55fccaeb..327ff563567 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.nonmember/op_divide_rep.fail.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.nonmember/op_divide_rep.fail.cpp @@ -18,8 +18,10 @@ #include "../../rep.h" -int main() +int main(int, char**) { std::chrono::duration<Rep> d(Rep(15)); d = d / 5; + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.nonmember/op_divide_rep.pass.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.nonmember/op_divide_rep.pass.cpp index 8718ad75730..94da11302bf 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.nonmember/op_divide_rep.pass.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.nonmember/op_divide_rep.pass.cpp @@ -20,7 +20,7 @@ #include "test_macros.h" -int main() +int main(int, char**) { { std::chrono::nanoseconds ns(15); @@ -34,4 +34,6 @@ int main() static_assert(ns2.count() == 3, ""); } #endif + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.nonmember/op_mod_duration.pass.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.nonmember/op_mod_duration.pass.cpp index 7a2063ca54e..e7007c1fe35 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.nonmember/op_mod_duration.pass.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.nonmember/op_mod_duration.pass.cpp @@ -20,7 +20,7 @@ #include "test_macros.h" -int main() +int main(int, char**) { { std::chrono::nanoseconds ns1(15); @@ -60,4 +60,6 @@ int main() static_assert(r.count() == 24, ""); } #endif + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.nonmember/op_mod_rep.fail.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.nonmember/op_mod_rep.fail.cpp index 3ee0578f805..f2a5885aba6 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.nonmember/op_mod_rep.fail.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.nonmember/op_mod_rep.fail.cpp @@ -18,8 +18,10 @@ #include "../../rep.h" -int main() +int main(int, char**) { std::chrono::duration<Rep> d(Rep(15)); d = d % 5; + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.nonmember/op_mod_rep.pass.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.nonmember/op_mod_rep.pass.cpp index 6d7e285d9b8..754b9800a7d 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.nonmember/op_mod_rep.pass.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.nonmember/op_mod_rep.pass.cpp @@ -20,7 +20,7 @@ #include "test_macros.h" -int main() +int main(int, char**) { { std::chrono::nanoseconds ns(15); @@ -34,4 +34,6 @@ int main() static_assert(ns2.count() == 3, ""); } #endif + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.nonmember/op_times_rep.pass.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.nonmember/op_times_rep.pass.cpp index 19e33366f71..c3e49963808 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.nonmember/op_times_rep.pass.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.nonmember/op_times_rep.pass.cpp @@ -25,7 +25,7 @@ #include "test_macros.h" -int main() +int main(int, char**) { { std::chrono::nanoseconds ns(3); @@ -43,4 +43,6 @@ int main() static_assert(ns3.count() == 18, ""); } #endif + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.nonmember/op_times_rep1.fail.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.nonmember/op_times_rep1.fail.cpp index 6ad3c7928a9..44a77cea18a 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.nonmember/op_times_rep1.fail.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.nonmember/op_times_rep1.fail.cpp @@ -22,8 +22,10 @@ #include "../../rep.h" -int main() +int main(int, char**) { std::chrono::duration<Rep> d; d = d * 5; + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.nonmember/op_times_rep2.fail.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.nonmember/op_times_rep2.fail.cpp index 5cc717c5c04..9ce82582cf3 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.nonmember/op_times_rep2.fail.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.nonmember/op_times_rep2.fail.cpp @@ -22,8 +22,10 @@ #include "../../rep.h" -int main() +int main(int, char**) { std::chrono::duration<Rep> d; d = 5 * d; + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.observer/tested_elsewhere.pass.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.observer/tested_elsewhere.pass.cpp index f77636c8475..1f764da05d6 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.observer/tested_elsewhere.pass.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.observer/tested_elsewhere.pass.cpp @@ -6,6 +6,8 @@ // //===----------------------------------------------------------------------===// -int main() +int main(int, char**) { + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.special/max.pass.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.special/max.pass.cpp index c6f3f1e6547..58de66a0158 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.special/max.pass.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.special/max.pass.cpp @@ -40,8 +40,10 @@ void test() #endif } -int main() +int main(int, char**) { test<std::chrono::duration<int> >(); test<std::chrono::duration<Rep> >(); + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.special/min.pass.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.special/min.pass.cpp index b16e608dcc7..9b0113b2980 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.special/min.pass.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.special/min.pass.cpp @@ -40,8 +40,10 @@ void test() #endif } -int main() +int main(int, char**) { test<std::chrono::duration<int> >(); test<std::chrono::duration<Rep> >(); + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/time.duration.special/zero.pass.cpp b/libcxx/test/std/utilities/time/time.duration/time.duration.special/zero.pass.cpp index f3065c30542..34a05b5f071 100644 --- a/libcxx/test/std/utilities/time/time.duration/time.duration.special/zero.pass.cpp +++ b/libcxx/test/std/utilities/time/time.duration/time.duration.special/zero.pass.cpp @@ -39,8 +39,10 @@ void test() #endif } -int main() +int main(int, char**) { test<std::chrono::duration<int> >(); test<std::chrono::duration<Rep> >(); + + return 0; } diff --git a/libcxx/test/std/utilities/time/time.duration/types.pass.cpp b/libcxx/test/std/utilities/time/time.duration/types.pass.cpp index 9e5abbc20a7..250e532859e 100644 --- a/libcxx/test/std/utilities/time/time.duration/types.pass.cpp +++ b/libcxx/test/std/utilities/time/time.duration/types.pass.cpp @@ -18,9 +18,11 @@ #include <chrono> #include <type_traits> -int main() +int main(int, char**) { typedef std::chrono::duration<long, std::ratio<3, 2> > D; static_assert((std::is_same<D::rep, long>::value), ""); static_assert((std::is_same<D::period, std::ratio<3, 2> >::value), ""); + + return 0; } |

