Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
-VisualStudioVersion = 15.0.26228.9
+VisualStudioVersion = 15.0.26430.4
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cds", "cds.vcxproj", "{408FE9BC-44F0-4E6A-89FA-D6F952584239}"
EndProject
ProjectSection(SolutionItems) = preProject
..\..\..\test\include\cds_test\check_size.h = ..\..\..\test\include\cds_test\check_size.h
..\..\..\test\include\cds_test\city.h = ..\..\..\test\include\cds_test\city.h
+ ..\..\..\test\include\cds_test\ext_gtest.h = ..\..\..\test\include\cds_test\ext_gtest.h
..\..\..\test\include\cds_test\fc_hevy_value.h = ..\..\..\test\include\cds_test\fc_hevy_value.h
..\..\..\test\include\cds_test\fixture.h = ..\..\..\test\include\cds_test\fixture.h
..\..\..\test\include\cds_test\hash_func.h = ..\..\..\test\include\cds_test\hash_func.h
#ifndef CDSTEST_CHECK_SIZE_H
#define CDSTEST_CHECK_SIZE_H
-#include <gtest/gtest.h>
+#include <cds_test/ext_gtest.h>
#include <cds/algo/atomic.h>
namespace cds_test {
--- /dev/null
+/*
+ This file is a part of libcds - Concurrent Data Structures library
+
+ (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
+
+ Source code repo: http://github.com/khizmax/libcds/
+ Download: http://sourceforge.net/projects/libcds/files/
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+#ifndef CDSTEST_EXT_GTEST_H
+#define CDSTEST_EXT_GTEST_H
+
+#if defined( __GCC__ ) && !defined(__clang__) && __GNUC__ >= 7
+# pragma GCC diagnostic push
+# pragma GCC diagnostic ignored "-Wduplicated-branches"
+#endif
+
+#include <gtest/gtest.h>
+
+#if defined( __GCC__ ) && !defined(__clang__) && __GNUC__ >= 7
+# pragma GCC diagnostic pop
+#endif
+
+#endif // #ifndef CDSTEST_EXT_GTEST_H
#ifndef CDSTEST_FIXTURE_H
#define CDSTEST_FIXTURE_H
-#include <gtest/gtest.h>
+#include <cds_test/ext_gtest.h>
#include <algorithm>
#include <random>
-// earlier version of gtest do not support 4th parameter in INSTANTIATE_TEST_CASE_P macro
-//TODO: how to known gtest version?..
-//#define CDSTEST_GTEST_INSTANTIATE_TEST_CASE_P_HAS_4TH_ARG
-
namespace cds_test {
class fixture : public ::testing::Test
#ifndef CDSTEST_THREAD_H
#define CDSTEST_THREAD_H
-#include <gtest/gtest.h>
+#include <cds_test/ext_gtest.h>
#include <vector>
#include <thread>
#include <condition_variable>
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#include <gtest/gtest.h>
+#include <cds_test/ext_gtest.h>
#include <cds/container/fcdeque.h>
#include <boost/container/deque.hpp>
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
*/\r
\r
-#include <gtest/gtest.h>\r
+#include <cds_test/ext_gtest.h>\r
#include <cds/init.h>\r
\r
int main( int argc, char **argv )\r
#ifdef CDS_ADDRESS_SANITIZER_ENABLED
-#include <gtest/gtest.h>
+#include <cds_test/ext_gtest.h>
namespace {
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#include <gtest/gtest.h>
+#include <cds_test/ext_gtest.h>
#include <cds/algo/bit_reversal.h>
namespace {
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#include <gtest/gtest.h>
+#include <cds_test/ext_gtest.h>
#include <cds/algo/int_algo.h>
//#include <cds/details/bit_reverse_counter.h>
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#include <gtest/gtest.h>
+#include <cds_test/ext_gtest.h>
#include <cds/algo/atomic.h>
#include "cxx11_convert_memory_order.h"
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#include <gtest/gtest.h>
+#include <cds_test/ext_gtest.h>
#include <cds/algo/atomic.h>
#ifndef CDS_USE_BOOST_ATOMIC
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#include <gtest/gtest.h>
+#include <cds_test/ext_gtest.h>
#include <cds/opt/hash.h>
namespace {
*/
#include <cds/opt/permutation.h>
-#include <gtest/gtest.h>
+#include <cds_test/ext_gtest.h>
namespace {
*/
#include <cds/algo/split_bitstring.h>
-#include <gtest/gtest.h>
+#include <cds_test/ext_gtest.h>
namespace {
bool is_big_endian()
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#include <gtest/gtest.h>
+#include <cds_test/ext_gtest.h>
#include <cds/container/fcqueue.h>
#include <test/include/cds_test/fc_hevy_value.h>
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#include <gtest/gtest.h>
+#include <cds_test/ext_gtest.h>
#include <cds/intrusive/fcqueue.h>
#include <vector>
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#include <gtest/gtest.h>
+#include <cds_test/ext_gtest.h>
#include <cds/container/fcstack.h>
#include <vector>
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#include <gtest/gtest.h>
+#include <cds_test/ext_gtest.h>
#include <cds/intrusive/fcstack.h>
#include <boost/intrusive/list.hpp>
#ifndef CDSUNIT_STACK_INTRUSIVE_TREIBER_STACK_H
#define CDSUNIT_STACK_INTRUSIVE_TREIBER_STACK_H
-#include <gtest/gtest.h>
+#include <cds_test/ext_gtest.h>
#include <cds/intrusive/details/single_link_struct.h>
namespace cds_test {
#ifndef CDSUNIT_STACK_TREIBER_STACK_H
#define CDSUNIT_STACK_TREIBER_STACK_H
-#include <gtest/gtest.h>
+#include <cds_test/ext_gtest.h>
namespace cds_test {