MSVC++ fix: Don’t declare local[0] arrays for ARRAYSIZE_UNSAFE test

After f83530bf9a0b, while compiling arraysize_unsafe_test.cc:

…\crashpad\util\misc\arraysize_unsafe_test.cc(24) : error C2466: cannot allocate an array of constant size 0
…\crashpad\util\misc\arraysize_unsafe_test.cc(24) : error C2133: 'c0' : unknown size
…\crashpad\util\misc\arraysize_unsafe_test.cc(25) : error C2070: 'char []': illegal sizeof operand
…\crashpad\util\misc\arraysize_unsafe_test.cc(36) : error C2466: cannot allocate an array of constant size 0
…\crashpad\util\misc\arraysize_unsafe_test.cc(36) : error C2133: 'i0' : unknown size
…\crashpad\util\misc\arraysize_unsafe_test.cc(37) : error C2070: 'int []': illegal sizeof operand
…\crashpad\util\misc\arraysize_unsafe_test.cc(61) : error C2466: cannot allocate an array of constant size 0
…\crashpad\util\misc\arraysize_unsafe_test.cc(61) : error C2133: 's0' : unknown size
…\crashpad\util\misc\arraysize_unsafe_test.cc(62) : error C2070: 'crashpad::test::`anonymous-namespace'::ArraySizeUnsafe_ArraySizeUnsafe_Test::TestBody::S []': illegal sizeof operand

MSVC++ 2015 (14.0) doesn’t mind, and I thought that testing that version
would be enough, but the Crashpad buildbots still run MSVC++ 2013
(12.0), which doesn’t like this construct.

https://build.chromium.org/p/client.crashpad/builders/crashpad_win_x64_dbg/builds/265/steps/compile%20with%20ninja/logs/stdio

TBR=scottmg@chromium.org (holiday)

Change-Id: Ia8d140ceda3cd1bdec09c78560377b9bfad84dc4
Reviewed-on: https://chromium-review.googlesource.com/410128
Reviewed-by: Mark Mentovai <mark@chromium.org>
This commit is contained in:
Mark Mentovai 2016-11-11 12:49:58 -05:00
parent f83530bf9a
commit 72fbc56e58

View File

@ -21,9 +21,6 @@ namespace test {
namespace {
TEST(ArraySizeUnsafe, ArraySizeUnsafe) {
char c0[0];
static_assert(ARRAYSIZE_UNSAFE(c0) == 0, "c0");
char c1[1];
static_assert(ARRAYSIZE_UNSAFE(c1) == 1, "c1");
@ -33,9 +30,6 @@ TEST(ArraySizeUnsafe, ArraySizeUnsafe) {
char c4[4];
static_assert(ARRAYSIZE_UNSAFE(c4) == 4, "c4");
int i0[0];
static_assert(ARRAYSIZE_UNSAFE(i0) == 0, "i0");
int i1[1];
static_assert(ARRAYSIZE_UNSAFE(i1) == 1, "i1");
@ -58,9 +52,6 @@ TEST(ArraySizeUnsafe, ArraySizeUnsafe) {
bool b;
};
S s0[0];
static_assert(ARRAYSIZE_UNSAFE(s0) == 0, "s0");
S s1[1];
static_assert(ARRAYSIZE_UNSAFE(s1) == 1, "s1");