From 1a3f1a31b2545de9a7666aed785feec710cd1896 Mon Sep 17 00:00:00 2001 From: Alexander Alekhin Date: Fri, 25 Nov 2016 14:56:00 +0300 Subject: [PATCH] ts: CV_ENUM fix static initialization order fiasco --- modules/ts/include/opencv2/ts/ts_perf.hpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/modules/ts/include/opencv2/ts/ts_perf.hpp b/modules/ts/include/opencv2/ts/ts_perf.hpp index 5b15a9eb01..bfa181195d 100644 --- a/modules/ts/include/opencv2/ts/ts_perf.hpp +++ b/modules/ts/include/opencv2/ts/ts_perf.hpp @@ -95,11 +95,11 @@ private: #define CV_ENUM(class_name, ...) \ namespace { \ + using namespace cv;using namespace cv::cuda; using namespace cv::ocl; \ struct class_name { \ class_name(int val = 0) : val_(val) {} \ operator int() const { return val_; } \ void PrintTo(std::ostream* os) const { \ - using namespace cv;using namespace cv::cuda; using namespace cv::ocl; \ const int vals[] = { __VA_ARGS__ }; \ const char* svals = #__VA_ARGS__; \ for(int i = 0, pos = 0; i < (int)(sizeof(vals)/sizeof(int)); ++i) { \ @@ -115,8 +115,7 @@ private: *os << "UNKNOWN"; \ } \ static ::testing::internal::ParamGenerator all() { \ - using namespace cv;using namespace cv::cuda; using namespace cv::ocl; \ - static class_name vals[] = { __VA_ARGS__ }; \ + const class_name vals[] = { __VA_ARGS__ }; \ return ::testing::ValuesIn(vals); \ } \ private: int val_; \