diff --git a/modules/ts/include/opencv2/ts/ts_perf.hpp b/modules/ts/include/opencv2/ts/ts_perf.hpp index 1e68cd49b05756d38375ed5c3880b8222e556e38..fa88dadb8cc6b088dc2b16efc421236e8d68e505 100644 --- a/modules/ts/include/opencv2/ts/ts_perf.hpp +++ b/modules/ts/include/opencv2/ts/ts_perf.hpp @@ -475,9 +475,16 @@ CV_EXPORTS void PrintTo(const Size& sz, ::std::ostream* os); INSTANTIATE_TEST_CASE_P(/*none*/, fixture##_##name, params);\ void fixture##_##name::PerfTestBody() +#if defined(_MSC_VER) && (_MSC_VER <= 1400) +#define CV_PERF_TEST_MAIN_INTERNALS_ARGS(...) \ + while (++argc >= (--argc,-1)) {__VA_ARGS__; break;} /*this ugly construction is needed for VS 2005*/ +#else +#define CV_PERF_TEST_MAIN_INTERNALS_ARGS(...) \ + __VA_ARGS__; +#endif -#define CV_PERF_TEST_MAIN_INTERNALS(modulename, impls, ...) \ - while (++argc >= (--argc,-1)) {__VA_ARGS__; break;} /*this ugly construction is needed for VS 2005*/\ +#define CV_PERF_TEST_MAIN_INTERNALS(modulename, impls, ...) \ + CV_PERF_TEST_MAIN_INTERNALS_ARGS(__VA_ARGS__) \ ::perf::Regression::Init(#modulename);\ ::perf::TestBase::Init(std::vector(impls, impls + sizeof impls / sizeof *impls),\ argc, argv);\