diff --git a/include/gtest/internal/gtest-port.h b/include/gtest/internal/gtest-port.h index a6726b4d..b5c64461 100644 --- a/include/gtest/internal/gtest-port.h +++ b/include/gtest/internal/gtest-port.h @@ -810,8 +810,8 @@ class Secret; // expression is true. For example, you could use it to verify the // size of a static array: // -// GTEST_COMPILE_ASSERT_(ARRAYSIZE(content_type_names) == CONTENT_NUM_TYPES, -// content_type_names_incorrect_size); +// GTEST_COMPILE_ASSERT_(GTEST_ARRAY_SIZE_(names) == NUM_NAMES, +// names_incorrect_size); // // or to make sure a struct is smaller than a certain size: // @@ -879,6 +879,9 @@ struct StaticAssertTypeEqHelper; template struct StaticAssertTypeEqHelper {}; +// Evaluates to the number of elements in 'array'. +#define GTEST_ARRAY_SIZE_(array) (sizeof(array) / sizeof(array[0])) + #if GTEST_HAS_GLOBAL_STRING typedef ::string string; #else diff --git a/test/gtest-printers_test.cc b/test/gtest-printers_test.cc index 184f9d9f..c2ba7113 100644 --- a/test/gtest-printers_test.cc +++ b/test/gtest-printers_test.cc @@ -125,6 +125,7 @@ namespace foo { class UnprintableInFoo { public: UnprintableInFoo() : z_(0) { memcpy(xy_, "\xEF\x12\x0\x0\x34\xAB\x0\x0", 8); } + double z() const { return z_; } private: char xy_[8]; double z_; diff --git a/test/gtest-unittest-api_test.cc b/test/gtest-unittest-api_test.cc index 07083e51..b1f51688 100644 --- a/test/gtest-unittest-api_test.cc +++ b/test/gtest-unittest-api_test.cc @@ -54,7 +54,7 @@ class UnitTestHelper { public: // Returns the array of pointers to all test cases sorted by the test case // name. The caller is responsible for deleting the array. - static TestCase const** const GetSortedTestCases() { + static TestCase const** GetSortedTestCases() { UnitTest& unit_test = *UnitTest::GetInstance(); TestCase const** const test_cases = new const TestCase*[unit_test.total_test_case_count()]; @@ -83,7 +83,7 @@ class UnitTestHelper { // Returns the array of pointers to all tests in a particular test case // sorted by the test name. The caller is responsible for deleting the // array. - static TestInfo const** const GetSortedTests(const TestCase* test_case) { + static TestInfo const** GetSortedTests(const TestCase* test_case) { TestInfo const** const tests = new const TestInfo*[test_case->total_test_count()];