From: Remi Gacogne Date: Fri, 13 Jan 2017 13:02:19 +0000 (+0100) Subject: Fix AtomicCounter unit tests on 32-bit X-Git-Tag: auth-4.0.4-rc1~18^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=94c837ca3c3c94f30413e2f38ca73c666c7bffbb;p=thirdparty%2Fpdns.git Fix AtomicCounter unit tests on 32-bit (cherry picked from commit 00c6f2b9f5173c98cc883332f5ecf8b941715abc) --- diff --git a/pdns/misc.hh b/pdns/misc.hh index a4b2f41086..0d7310657e 100644 --- a/pdns/misc.hh +++ b/pdns/misc.hh @@ -370,7 +370,8 @@ inline bool pdns_iequals_ch(const char a, const char b) } -typedef std::atomic AtomicCounter ; +typedef unsigned long AtomicCounterInner; +typedef std::atomic AtomicCounter ; // FIXME400 this should probably go? struct CIStringCompare: public std::binary_function diff --git a/pdns/test-statbag_cc.cc b/pdns/test-statbag_cc.cc index 3330451458..4abbcd0286 100644 --- a/pdns/test-statbag_cc.cc +++ b/pdns/test-statbag_cc.cc @@ -83,7 +83,7 @@ BOOST_AUTO_TEST_CASE(test_StatBagBasic) { #ifdef UINTPTR_MAX #if UINTPTR_MAX > 0xffffffffULL - BOOST_CHECK_EQUAL(sizeof(unsigned long), 8); + BOOST_CHECK_EQUAL(sizeof(AtomicCounterInner), 8); s.set("c", 1ULL<<33); BOOST_CHECK_EQUAL(s.read("c"), (1ULL<<33) ); s.inc("c"); @@ -94,7 +94,7 @@ BOOST_AUTO_TEST_CASE(test_StatBagBasic) { s.inc("c"); BOOST_CHECK_EQUAL(s.read("c"), 0 ); #else - BOOST_CHECK_EQUAL(sizeof(AtomicCounter::native_t), 4); + BOOST_CHECK_EQUAL(sizeof(AtomicCounterInner), 4); BOOST_CHECK_EQUAL(~0UL, 0xffffffffUL); s.set("c", ~0UL); BOOST_CHECK_EQUAL(s.read("c"), 0xffffffffUL );