[runtimes] Use int main(int, char**) consistently in tests

This is needed when running the tests in Freestanding mode, where main()
isn't treated specially. In Freestanding, main() doesn't get mangled as
extern "C", so whatever runtime we're using fails to find the entry point.

One way to solve this problem is to define a symbol alias from __Z4mainiPPc
to _main, however this requires all definitions of main() to have the same
mangling. Hence this commit.
This commit is contained in:
Louis Dionne 2020-10-08 13:36:33 -04:00
parent 2b0c5d76a6
commit 504bc07d1a
135 changed files with 269 additions and 154 deletions

View File

@ -24,5 +24,3 @@
# error M_PI not defined
# endif
#endif
int main() { }

View File

@ -261,5 +261,3 @@
#ifndef UINTMAX_C
#error UINTMAX_C not defined
#endif
int main() { }

View File

@ -258,5 +258,3 @@
#ifndef UINTMAX_C
#error UINTMAX_C not defined
#endif
int main() { }

View File

@ -32,12 +32,13 @@ void register2();
#elif defined(MAIN)
std::vector<std::type_index> registry;
int main() {
int main(int, char**) {
register1();
register2();
assert(registry.size() == 2);
assert(registry[0] != registry[1]);
return 0;
}
#else
# error

View File

@ -32,12 +32,13 @@ void register2();
#elif defined(MAIN)
std::vector<std::type_index> registry;
int main() {
int main(int, char**) {
register1();
register2();
assert(registry.size() == 2);
assert(registry[0] == registry[1]);
return 0;
}
#else
# error

View File

@ -285,5 +285,3 @@ TEST_MACROS();
TEST_MACROS();
#include <ext/hash_set>
TEST_MACROS();
int main() { }

View File

@ -170,5 +170,3 @@
#ifdef assert
#error "Do not include cassert or assert.h in standard header files"
#endif
int main() { }

View File

@ -77,7 +77,7 @@ void test_float() {
}
}
int main() {
int main(int, char**) {
test<short>();
test<unsigned short>();
test<int>();
@ -87,4 +87,5 @@ int main() {
test_float<short>();
test_float<int>();
test_float<long long>();
return 0;
}

View File

@ -11,4 +11,4 @@
struct Foo { };
typedef Foo::x x;
int main() { }
int main(int, char**) { return 0; }

View File

@ -10,4 +10,4 @@
// Make sure the test DOES NOT pass if it succeeds at compile-time
int main() { }
int main(int, char**) { return 0; }

View File

@ -13,4 +13,4 @@
struct Foo { };
typedef Foo::x x;
int main() { }
int main(int, char**) { return 0; }

View File

@ -8,4 +8,4 @@
// Make sure the test passes if it succeeds to compile
int main() { }
int main(int, char**) { return 0; }

View File

@ -10,6 +10,7 @@
extern void this_is_an_undefined_symbol();
int main() {
int main(int, char**) {
this_is_an_undefined_symbol();
return 0;
}

View File

@ -8,6 +8,6 @@
// Make sure the test passes even if there's a runtime error, i.e. it isn't run.
int main() {
int main(int, char**) {
return 1;
}

View File

@ -13,4 +13,4 @@
// UNSUPPORTED: verify-support
int main() { }
int main(int, char**) { return 0; }

View File

@ -16,4 +16,4 @@
// Note: For the purpose of this test, make sure the file would otherwise
// compile to make sure we really fail due to a lack of markup.
int main() { }
int main(int, char**) { return 0; }

View File

@ -14,4 +14,4 @@
struct Foo { };
typedef Foo::x x; // expected-error{{no type named 'x' in 'Foo'}}
int main() { }
int main(int, char**) { return 0; }

View File

@ -15,4 +15,4 @@
struct Foo { };
typedef Foo::x x; // expected-error{{this is not found in the errors}}
int main() { }
int main(int, char**) { return 0; }

View File

@ -13,4 +13,4 @@
struct Foo { };
typedef Foo::x x;
int main() { }
int main(int, char**) { return 0; }

View File

@ -10,6 +10,7 @@
extern void this_is_an_undefined_symbol();
int main() {
int main(int, char**) {
this_is_an_undefined_symbol();
return 0;
}

View File

@ -10,4 +10,4 @@
// Make sure the test DOES NOT pass if it succeeds to link.
int main() { }
int main(int, char**) { return 0; }

View File

@ -13,4 +13,4 @@
struct Foo { };
typedef Foo::x x;
int main() { }
int main(int, char**) { return 0; }

View File

@ -12,6 +12,7 @@
extern void this_is_an_undefined_symbol();
int main() {
int main(int, char**) {
this_is_an_undefined_symbol();
return 0;
}

View File

@ -8,4 +8,4 @@
// Make sure the test passes if it succeeds to link.
int main() { }
int main(int, char**) { return 0; }

View File

@ -9,6 +9,6 @@
// Make sure the test passes if it succeeds to link, even though it would have
// failed at runtime.
int main() {
int main(int, char**) {
return 1;
}

View File

@ -13,4 +13,4 @@
struct Foo { };
typedef Foo::x x;
int main() { }
int main(int, char**) { return 0; }

View File

@ -12,6 +12,7 @@
extern void this_is_an_undefined_symbol();
int main() {
int main(int, char**) {
this_is_an_undefined_symbol();
return 0;
}

View File

@ -10,6 +10,6 @@
// Make sure the test DOES NOT pass if it fails at runtime.
int main() {
int main(int, char**) {
return 1;
}

View File

@ -8,6 +8,6 @@
// Make sure the test passes pass if it succeeds at runtime.
int main() {
int main(int, char**) {
return 0;
}

View File

@ -17,6 +17,6 @@
// TODO: We don't enable -Werror on GCC right now, because too many tests fail.
// UNSUPPORTED: gcc
int main() {
int main(int, char**) {
int foo;
}

View File

@ -15,4 +15,4 @@
struct Foo { };
typedef Foo::x x;
int main() { }
int main(int, char**) { return 0; }

View File

@ -14,6 +14,7 @@
extern void this_is_an_undefined_symbol();
int main() {
int main(int, char**) {
this_is_an_undefined_symbol();
return 0;
}

View File

@ -14,6 +14,6 @@
# error "arc should not be enabled by default"
#endif
int main() {
int main(int, char**) {
return 0;
}

View File

@ -12,6 +12,6 @@
// Make sure the test DOES NOT pass if it fails at runtime.
int main() {
int main(int, char**) {
return 1;
}

View File

@ -10,6 +10,6 @@
// Make sure the test passes pass if it succeeds at runtime.
int main() {
int main(int, char**) {
return 0;
}

View File

@ -13,6 +13,6 @@
@interface Foo
@end
int main() {
int main(int, char**) {
return 0;
}

View File

@ -13,6 +13,6 @@
struct Foo { };
typedef Foo::x x;
int main() {
int main(int, char**) {
return 1;
}

View File

@ -12,7 +12,7 @@
extern void this_is_an_undefined_symbol();
int main() {
int main(int, char**) {
this_is_an_undefined_symbol();
return 1;
}

View File

@ -8,6 +8,6 @@
// Make sure the test passes if it fails at runtime.
int main() {
int main(int, char**) {
return 1;
}

View File

@ -10,6 +10,6 @@
// Make sure the test DOES NOT pass if it succeeds at runtime.
int main() {
int main(int, char**) {
return 0;
}

View File

@ -17,6 +17,7 @@
// RUN: %{build} -Wunused-variable
// RUN: %{run}
int main() {
int main(int, char**) {
int foo;
return 0;
}

View File

@ -14,4 +14,4 @@
// Note: For the purpose of this test, make sure the file would otherwise
// compile to make sure we really fail due to a lack of markup.
int main() { }
int main(int, char**) { return 0; }

View File

@ -10,6 +10,7 @@
// ADDITIONAL_COMPILE_FLAGS: -Wunused-variable
int main() {
int main(int, char**) {
int foo; // expected-warning {{unused variable}}
return 0;
}

View File

@ -14,8 +14,9 @@
#include <memory>
#include <string>
int main() {
int main(int, char**) {
std::string s1(10u, '-', std::allocator<char>()); (void)s1;
std::string s2("hello", std::allocator<char>()); (void)s2;
std::string s3("hello"); (void)s3;
return 0;
}

View File

@ -38,8 +38,9 @@ Func CreateFunc() {
return f;
}
#else
int main() {
int main(int, char**) {
Func f = CreateFunc();
f(42);
return 0;
}
#endif

View File

@ -16,7 +16,7 @@
#include <functional>
#include "test_macros.h"
int main() {
int main(int, char**) {
// Note:
// We use sizeof() to require it to be a complete type. We don't create a
// variable because otherwise we get two warnings for each variable (the
@ -25,4 +25,5 @@ int main() {
(void)sizeof(std::function<void (int)>); // expected-warning {{'function<void (int)>' is deprecated}}
(void)sizeof(std::function<void (int, int)>); // expected-warning {{'function<void (int, int)>' is deprecated}}
(void)sizeof(std::function<void (int, int, int)>); // expected-warning {{'function<void (int, int, int)>' is deprecated}}
return 0;
}

View File

@ -112,7 +112,8 @@ static_assert(__COUNTER__ >= 1000, "");
void fn1(T1 x) { DoNotOptimize(&x); }
void fn2(typename std::invoke_result_t<T1, int, int>::type x) { DoNotOptimize(&x); }
int main() {
int main(int, char**) {
DoNotOptimize(&fn1);
DoNotOptimize(&fn2);
return 0;
}

View File

@ -31,7 +31,7 @@ public:
BadUserNoCookie& operator=(const BadUserNoCookie&) = default;
};
int main() {
int main(int, char**) {
// expected-error@memory:* 2 {{"The specified type does not meet the requirements of Cpp17MoveInsertable"}}
// Other diagnostics that might be seen as Clang tries to continue compiling:
@ -47,5 +47,5 @@ int main() {
BadUserNoCookie<2> c;
x.push_back(c);
}
return 0;
return 0;
}

View File

@ -75,7 +75,7 @@ struct Checker {
static Checker check;
int main() {
int main(int, char**) {
assert(std::memcmp(check.cerr_mem_dump, (char const*)&std::cerr, sizeof(std::cerr)) == 0);
assert(std::memcmp(check.cin_mem_dump, (char const*)&std::cin, sizeof(std::cin)) == 0);
assert(std::memcmp(check.cout_mem_dump, (char const*)&std::cout, sizeof(std::cout)) == 0);
@ -85,4 +85,5 @@ int main() {
assert(std::memcmp(check.wcin_mem_dump, (char const*)&std::wcin, sizeof(std::wcin)) == 0);
assert(std::memcmp(check.wcout_mem_dump, (char const*)&std::wcout, sizeof(std::wcout)) == 0);
assert(std::memcmp(check.wclog_mem_dump, (char const*)&std::wclog, sizeof(std::wclog)) == 0);
return 0;
}

View File

@ -67,11 +67,12 @@ void A::operator delete(A* a, std::destroying_delete_t) {
# endif
#endif
int main() {
int main(int, char**) {
// Ensure that we call the destroying delete and not the destructor.
A* ap = A::New();
assert(A_constructed);
delete ap;
assert(!A_destroyed);
assert(A_destroying_deleted);
return 0;
}

View File

@ -42,11 +42,12 @@ constexpr bool test_constexpr(std::destroying_delete_t) {
return true;
}
int main() {
int main(int, char**) {
static_assert(std::is_default_constructible<std::destroying_delete_t>::value, "");
static_assert(!test_convertible<std::destroying_delete_t>(), "");
constexpr std::destroying_delete_t dd{};
static_assert((dd, true), "");
static_assert(&dd != &std::destroying_delete, "");
static_assert(test_constexpr(std::destroying_delete), "");
return 0;
}

View File

@ -144,7 +144,7 @@ WIstreamManipFunction* get_wistreammanip_tu2(std::string func)
#ifdef TU2
int main() {
int main(int, char**) {
assert(get_formatflag_tu1("boolalpha") == get_formatflag_tu2("boolalpha"));
assert(get_formatflag_tu1("noboolalpha") == get_formatflag_tu2("noboolalpha"));
assert(get_formatflag_tu1("showbase") == get_formatflag_tu2("showbase"));
@ -181,5 +181,7 @@ WIstreamManipFunction* get_wistreammanip_tu2(std::string func)
assert(get_istreammanip_tu1("ws") == get_istreammanip_tu2("ws"));
assert(get_wistreammanip_tu1("ws") == get_wistreammanip_tu2("ws"));
return 0;
}
#endif

View File

@ -31,7 +31,7 @@ constexpr bool toobig()
return 0 == std::ceil2(std::numeric_limits<T>::max());
}
int main()
int main(int, char**)
{
// Make sure we generate a compile-time error for UB
static_assert(toobig<unsigned char>(), ""); // expected-error {{static_assert expression is not an integral constant expression}}
@ -47,4 +47,6 @@ int main()
static_assert(toobig<size_t>(), ""); // expected-error {{static_assert expression is not an integral constant expression}}
static_assert(toobig<uintmax_t>(), ""); // expected-error {{static_assert expression is not an integral constant expression}}
static_assert(toobig<uintptr_t>(), ""); // expected-error {{static_assert expression is not an integral constant expression}}
return 0;
}

View File

@ -62,7 +62,7 @@ void runtime_test()
assert( std::ceil2(T(69)) == T(128));
}
int main()
int main(int, char**)
{
{
@ -145,4 +145,6 @@ int main()
#ifndef _LIBCPP_HAS_NO_INT128
runtime_test<__uint128_t>();
#endif
return 0;
}

View File

@ -61,7 +61,7 @@ void runtime_test()
assert( std::floor2(T(130)) == T(128));
}
int main()
int main(int, char**)
{
{
@ -161,4 +161,5 @@ int main()
}
#endif
return 0;
}

View File

@ -59,7 +59,7 @@ void runtime_test()
assert(!std::ispow2(T(130)));
}
int main()
int main(int, char**)
{
{
@ -159,4 +159,5 @@ int main()
}
#endif
return 0;
}

View File

@ -73,7 +73,7 @@ void runtime_test()
assert( std::log2p1(T(130)) == T(8));
}
int main()
int main(int, char**)
{
{
@ -174,4 +174,5 @@ int main()
}
#endif
return 0;
}

View File

@ -66,7 +66,7 @@ void runtime_test()
assert( std::countl_one(T(~130)) == dig - 8);
}
int main()
int main(int, char**)
{
{
auto lambda = [](auto x) -> decltype(std::countl_one(x)) {};
@ -162,4 +162,5 @@ int main()
}
#endif
return 0;
}

View File

@ -66,7 +66,7 @@ void runtime_test()
assert( std::countl_zero(T(130)) == dig - 8);
}
int main()
int main(int, char**)
{
{
@ -169,4 +169,5 @@ int main()
}
#endif
return 0;
}

View File

@ -65,7 +65,7 @@ void runtime_test()
assert( std::countr_one(T(130)) == 0);
}
int main()
int main(int, char**)
{
{
@ -167,4 +167,5 @@ int main()
}
#endif
return 0;
}

View File

@ -65,7 +65,7 @@ void runtime_test()
assert( std::countr_zero(T(130)) == 1);
}
int main()
int main(int, char**)
{
{
@ -166,4 +166,5 @@ int main()
}
#endif
return 0;
}

View File

@ -63,7 +63,7 @@ void runtime_test()
assert( std::popcount(T(130)) == 2);
}
int main()
int main(int, char**)
{
{
@ -164,4 +164,6 @@ int main()
assert( std::popcount(val+1) == 2);
}
#endif
return 0;
}

View File

@ -66,7 +66,7 @@ void runtime_test()
assert( std::rotl(val, 7) == T((val << 7) + 127));
}
int main()
int main(int, char**)
{
{
@ -164,4 +164,5 @@ int main()
}
#endif
return 0;
}

View File

@ -80,7 +80,7 @@ void runtime_test()
assert( std::rotr(val, 7) == T((val >> 7) + uppers[7]));
}
int main()
int main(int, char**)
{
{
@ -178,4 +178,6 @@ int main()
assert( std::rotr(val, 166) == 84);
}
#endif
return 0;
}

View File

@ -78,4 +78,7 @@ constexpr bool tests() {
static_assert(tests());
int main() { tests(); }
int main(int, char**) {
tests();
return 0;
}

View File

@ -26,4 +26,4 @@ int inv_sqrt3{std::numbers::inv_sqrt3_v<int>};
int egamma{std::numbers::egamma_v<int>};
int phi{std::numbers::phi_v<int>};
int main() { return 0; }
int main(int, char**) { return 0; }

View File

@ -79,4 +79,7 @@ constexpr bool tests() {
static_assert(tests());
int main() { tests(); }
int main(int, char**) {
tests();
return 0;
}

View File

@ -54,4 +54,4 @@ user std::numbers::egamma_v<user>{};
template <>
user std::numbers::phi_v<user>{};
int main() { return 0; }
int main(int, char**) { return 0; }

View File

@ -83,4 +83,7 @@ constexpr bool tests() {
static_assert(tests());
int main() { tests(); }
int main(int, char**) {
tests();
return 0;
}

View File

@ -17,7 +17,7 @@
#include <regex>
using namespace std;
int main() {
int main(int, char**) {
char str1[] = "\na";
auto str1_scnd = str1 + 1;
// Assert that match_prev_avail disables match_not_bol and this matches

View File

@ -21,6 +21,4 @@ struct HasDecl : std::false_type {};
template <class SV>
struct HasDecl<SV, decltype(static_cast<void>(std::declval<std::ostream&>() << std::declval<SV&>()))> : std::true_type {};
int main() {
static_assert(HasDecl<std::string_view>::value, "streaming operator declaration not present");
}
static_assert(HasDecl<std::string_view>::value, "streaming operator declaration not present");

View File

@ -22,8 +22,7 @@
std::mutex m;
int main()
{
int main(int, char**) {
{
m.lock();
std::lock_guard<std::mutex> lg(m, std::adopt_lock);

View File

@ -25,8 +25,7 @@
std::mutex m;
int main()
{
int main(int, char**) {
{
std::lock_guard<std::mutex> lg(m);
assert(m.try_lock() == false);

View File

@ -27,8 +27,9 @@ struct R { };
struct f0 { R operator()() && { return {}; } };
struct f1 { R operator()(int, ...) { return {}; } };
int main() {
int main(int, char**) {
std::function f = f0{}; // expected-error{{no viable constructor or deduction guide for deduction of template arguments of 'function'}}
std::function g = f1{}; // expected-error{{no viable constructor or deduction guide for deduction of template arguments of 'function'}}
std::function h = nullptr; // expected-error{{no viable constructor or deduction guide for deduction of template arguments of 'function'}}
return 0;
}

View File

@ -51,7 +51,7 @@ DECLARE_FUNCTIONS_WITH_QUALS(13, const & noexcept);
DECLARE_FUNCTIONS_WITH_QUALS(14, volatile & noexcept);
DECLARE_FUNCTIONS_WITH_QUALS(15, const volatile & noexcept);
int main() {
int main(int, char**) {
#define CHECK_FUNCTIONS(N) \
do { \
/* implicit */ \
@ -114,6 +114,8 @@ int main() {
CHECK_FUNCTIONS(13);
CHECK_FUNCTIONS(14);
CHECK_FUNCTIONS(15);
return 0;
}
// Make sure we fail in a SFINAE-friendly manner when we try to deduce

View File

@ -32,7 +32,7 @@ R f2(A1, A2) { return {}; }
R f3(A1, A2, A3) { return {}; }
R f4(A1 = {}) { return {}; }
int main() {
int main(int, char**) {
{
// implicit
std::function a = f0;
@ -109,4 +109,6 @@ int main() {
std::function d{&f4};
ASSERT_SAME_TYPE(decltype(d), std::function<R(A1)>);
}
return 0;
}

View File

@ -38,6 +38,7 @@ Foo& get_foo() {
return foo;
}
int main() {
int main(int, char**) {
test();
return 0;
}

View File

@ -39,6 +39,7 @@ Foo& get_foo() {
return foo;
}
int main() {
int main(int, char**) {
test();
return 0;
}

View File

@ -39,6 +39,7 @@ Foo& get_foo() {
return foo;
}
int main() {
int main(int, char**) {
test();
return 0;
}

View File

@ -32,6 +32,7 @@ void test() {
struct Foo { void operator()(int) const { } };
Foo& get_foo() { static Foo foo; return foo; }
int main() {
int main(int, char**) {
test();
return 0;
}

View File

@ -48,7 +48,7 @@ void call1(size_t* ntraced, bool do_throw) {
call2(ntraced, do_throw);
}
int main() {
int main(int, char**) {
size_t throw_ntraced = 0;
size_t nothrow_ntraced = 0;

View File

@ -15,7 +15,7 @@
#include <cassert>
int main()
int main(int, char**)
{
typedef char Array[4];
Array a = {'H', 'i', '!', 0};
@ -31,4 +31,6 @@ int main()
catch (...)
{
}
return 0;
}

View File

@ -11,7 +11,7 @@
#include <cassert>
int main()
int main(int, char**)
{
typedef char Array[4];
Array a = {'H', 'i', '!', 0};
@ -27,4 +27,6 @@ int main()
{
assert(false);
}
return 0;
}

View File

@ -43,7 +43,7 @@ void f2()
}
}
int main()
int main(int, char**)
{
try
{
@ -56,4 +56,6 @@ int main()
assert(a.id_ == 3);
}
assert(A::count == 0);
return 0;
}

View File

@ -67,7 +67,7 @@ void f2()
}
}
int main()
int main(int, char**)
{
try
{
@ -81,4 +81,6 @@ int main()
}
assert(A::count == 0);
assert(B::count == 0);
return 0;
}

View File

@ -181,7 +181,7 @@ void f4()
}
}
int main()
int main(int, char**)
{
try
{
@ -195,4 +195,6 @@ int main()
assert(C1::count == 0);
assert(C2::count == 0);
assert(B::count == 0);
return 0;
}

View File

@ -204,7 +204,7 @@ void f5()
}
}
int main()
int main(int, char**)
{
try
{
@ -218,4 +218,6 @@ int main()
assert(C1::count == 0);
assert(C2::count == 0);
assert(B::count == 0);
return 0;
}

View File

@ -136,12 +136,13 @@ void test6() {}
#endif
int main()
{
int main(int, char**) {
test1();
test2();
test3();
test4();
test5();
test6();
return 0;
}

View File

@ -23,7 +23,7 @@ bool can_convert(...) { return false; }
void f() {}
int main()
int main(int, char**)
{
typedef void Function();
assert(!can_convert<Function&>(&f));
@ -48,4 +48,6 @@ int main()
{
assert(false);
}
return 0;
}

View File

@ -13,7 +13,7 @@
void f() {}
int main()
int main(int, char**)
{
typedef void Function();
try
@ -28,4 +28,6 @@ int main()
{
assert(false);
}
return 0;
}

View File

@ -53,11 +53,13 @@ void check_deep() {
}
}
int main()
int main(int, char**)
{
check<false, false>();
check<false, true>();
check<true, false>();
check<true, true>();
check_deep();
return 0;
}

View File

@ -30,7 +30,9 @@ void f1() noexcept
assert(false);
}
int main()
int main(int, char**)
{
f1();
return 0;
}

View File

@ -164,11 +164,13 @@ void test5()
}
}
int main()
int main(int, char**)
{
test1();
test2();
test3();
test4();
test5();
return 0;
}

View File

@ -161,10 +161,12 @@ void test_void()
}
}
int main()
int main(int, char**)
{
test1();
test2();
test_derived();
test_void();
return 0;
}

View File

@ -60,11 +60,13 @@ void check_deep() {
}
}
int main()
int main(int, char**)
{
check<false, false>();
check<false, true>();
check<true, false>();
check<true, true>();
check_deep();
return 0;
}

View File

@ -67,8 +67,10 @@ void test2()
#endif
int main()
int main(int, char**)
{
test1();
test2();
return 0;
}

View File

@ -130,7 +130,7 @@ struct generate_tests_imp<Throw, Catch, 0, first> {
template <class Throw, class Catch, int level>
struct generate_tests : generate_tests_imp<Throw, Catch, level, true> {};
int main()
int main(int, char**)
{
generate_tests<int, int, 3>()();
generate_tests<Base, Derived, 2>()();
@ -141,4 +141,6 @@ int main()
generate_tests<int A::*, int A::*, 3>()();
generate_tests<int A::*, void, 2>()();
generate_tests<void, int A::*, 2>()();
return 0;
}

View File

@ -61,7 +61,7 @@ void catch_nullptr_test() {
}
int main()
int main(int, char**)
{
// catch naked nullptrs
test1();
@ -72,4 +72,6 @@ int main()
catch_nullptr_test<int A::*>();
catch_nullptr_test<const int A::*>();
catch_nullptr_test<int A::**>();
return 0;
}

View File

@ -427,7 +427,7 @@ void f13()
assert_cannot_catch<const volatile Base * const volatile &, Protected *, Protected>();
}
int main()
int main(int, char**)
{
f1();
f2();
@ -442,4 +442,6 @@ int main()
f11();
f12();
f13();
return 0;
}

View File

@ -176,7 +176,7 @@ void f5()
}
}
int main()
int main(int, char**)
{
try
{
@ -186,4 +186,6 @@ int main()
catch (...)
{
}
return 0;
}

Some files were not shown because too many files have changed in this diff Show More