On Monday, 2018-06-11 15:56:02 -0700, Dylan Baker wrote: > To allow the this test to be built with MSVC, which doesn't support > VLAs. > --- > src/util/tests/hash_table/clear.c | 13 +++++++------ > src/util/tests/hash_table/delete_management.c | 13 +++++++------ > src/util/tests/hash_table/insert_many.c | 11 ++++++----- > src/util/tests/hash_table/meson.build | 1 + > src/util/tests/hash_table/random_entry.c | 7 ++++--- > src/util/tests/string_buffer/meson.build | 1 + > 6 files changed, 26 insertions(+), 20 deletions(-) > > diff --git a/src/util/tests/hash_table/clear.c > b/src/util/tests/hash_table/clear.c > index 526700bfb0f..19494844608 100644 > --- a/src/util/tests/hash_table/clear.c > +++ b/src/util/tests/hash_table/clear.c > @@ -23,6 +23,8 @@ > > #include "hash_table.h" > > +#define SIZE 1000 > + > static void *make_key(uint32_t i) > { > return (void *)(uintptr_t)(1 + i); > @@ -54,13 +56,12 @@ int main() > { > struct hash_table *ht; > struct hash_entry *entry; > - const uint32_t size = 1000; > - bool flags[size]; > + bool flags[SIZE];
alternative solution: bool flags[1000]; const uint32_t size = ARRAY_SIZE(flags); bonus: no need to s/size/SIZE/g all over the place :) > uint32_t i; > > ht = _mesa_hash_table_create(NULL, key_hash, key_equal); > > - for (i = 0; i < size; ++i) { > + for (i = 0; i < SIZE; ++i) { > flags[i] = false; > _mesa_hash_table_insert(ht, make_key(i), &flags[i]); > } > @@ -70,19 +71,19 @@ int main() > > /* Check that delete_function was called and that repopulating the table > * works. */ > - for (i = 0; i < size; ++i) { > + for (i = 0; i < SIZE; ++i) { > assert(flags[i]); > flags[i] = false; > _mesa_hash_table_insert(ht, make_key(i), &flags[i]); > } > > /* Check that exactly the right set of entries is in the table. */ > - for (i = 0; i < size; ++i) { > + for (i = 0; i < SIZE; ++i) { > assert(_mesa_hash_table_search(ht, make_key(i))); > } > > hash_table_foreach(ht, entry) { > - assert(key_id(entry->key) < size); > + assert(key_id(entry->key) < SIZE); > } > > _mesa_hash_table_destroy(ht, NULL); > diff --git a/src/util/tests/hash_table/delete_management.c > b/src/util/tests/hash_table/delete_management.c > index 127d81b3ca9..e3be9fb3d99 100644 > --- a/src/util/tests/hash_table/delete_management.c > +++ b/src/util/tests/hash_table/delete_management.c > @@ -30,6 +30,8 @@ > #include <assert.h> > #include "hash_table.h" > > +#define SIZE 10000 > + > static uint32_t > key_value(const void *key) > { > @@ -47,8 +49,7 @@ main(int argc, char **argv) > { > struct hash_table *ht; > struct hash_entry *entry; > - unsigned size = 10000; > - uint32_t keys[size]; > + uint32_t keys[SIZE]; > uint32_t i; > > (void) argc; > @@ -56,7 +57,7 @@ main(int argc, char **argv) > > ht = _mesa_hash_table_create(NULL, key_value, uint32_t_key_equals); > > - for (i = 0; i < size; i++) { > + for (i = 0; i < SIZE; i++) { > keys[i] = i; > > _mesa_hash_table_insert(ht, keys + i, NULL); > @@ -69,7 +70,7 @@ main(int argc, char **argv) > } > > /* Make sure that all our entries were present at the end. */ > - for (i = size - 100; i < size; i++) { > + for (i = SIZE - 100; i < SIZE; i++) { > entry = _mesa_hash_table_search(ht, keys + i); > assert(entry); > assert(key_value(entry->key) == i); > @@ -79,8 +80,8 @@ main(int argc, char **argv) > for (entry = _mesa_hash_table_next_entry(ht, NULL); > entry != NULL; > entry = _mesa_hash_table_next_entry(ht, entry)) { > - assert(key_value(entry->key) >= size - 100 && > - key_value(entry->key) < size); > + assert(key_value(entry->key) >= SIZE - 100 && > + key_value(entry->key) < SIZE); > } > assert(ht->entries == 100); > > diff --git a/src/util/tests/hash_table/insert_many.c > b/src/util/tests/hash_table/insert_many.c > index b07e40842bf..6bd35d5c0c7 100644 > --- a/src/util/tests/hash_table/insert_many.c > +++ b/src/util/tests/hash_table/insert_many.c > @@ -30,6 +30,8 @@ > #include <assert.h> > #include "hash_table.h" > > +#define SIZE 10000 > + > static uint32_t > key_value(const void *key) > { > @@ -47,8 +49,7 @@ main(int argc, char **argv) > { > struct hash_table *ht; > struct hash_entry *entry; > - unsigned size = 10000; > - uint32_t keys[size]; > + uint32_t keys[SIZE]; > uint32_t i; > > (void) argc; > @@ -56,18 +57,18 @@ main(int argc, char **argv) > > ht = _mesa_hash_table_create(NULL, key_value, uint32_t_key_equals); > > - for (i = 0; i < size; i++) { > + for (i = 0; i < SIZE; i++) { > keys[i] = i; > > _mesa_hash_table_insert(ht, keys + i, NULL); > } > > - for (i = 0; i < size; i++) { > + for (i = 0; i < SIZE; i++) { > entry = _mesa_hash_table_search(ht, keys + i); > assert(entry); > assert(key_value(entry->key) == i); > } > - assert(ht->entries == size); > + assert(ht->entries == SIZE); > > _mesa_hash_table_destroy(ht, NULL); > > diff --git a/src/util/tests/hash_table/meson.build > b/src/util/tests/hash_table/meson.build > index 4bbc5100ea3..38127013044 100644 > --- a/src/util/tests/hash_table/meson.build > +++ b/src/util/tests/hash_table/meson.build > @@ -26,6 +26,7 @@ foreach t : ['clear', 'collision', 'delete_and_lookup', > 'delete_management', > executable( > '@0@_test'.format(t), > files('@0@.c'.format(t)), > + c_args : [c_msvc_compat_args], > dependencies : [dep_thread, dep_dl], > include_directories : [inc_include, inc_util], > link_with : libmesa_util, > diff --git a/src/util/tests/hash_table/random_entry.c > b/src/util/tests/hash_table/random_entry.c > index d1bc44aeb30..2b81d081271 100644 > --- a/src/util/tests/hash_table/random_entry.c > +++ b/src/util/tests/hash_table/random_entry.c > @@ -30,6 +30,8 @@ > #include <assert.h> > #include "hash_table.h" > > +#define SIZE 10000 > + > static uint32_t > key_value(const void *key) > { > @@ -53,8 +55,7 @@ main(int argc, char **argv) > { > struct hash_table *ht; > struct hash_entry *entry; > - unsigned size = 10000; > - uint32_t keys[size]; > + uint32_t keys[SIZE]; > uint32_t i, random_value; > > (void) argc; > @@ -62,7 +63,7 @@ main(int argc, char **argv) > > ht = _mesa_hash_table_create(NULL, key_value, uint32_t_key_equals); > > - for (i = 0; i < size; i++) { > + for (i = 0; i < SIZE; i++) { > keys[i] = i; > > _mesa_hash_table_insert(ht, keys + i, NULL); > diff --git a/src/util/tests/string_buffer/meson.build > b/src/util/tests/string_buffer/meson.build > index 9f42e3550ae..4e5a2c605cd 100644 > --- a/src/util/tests/string_buffer/meson.build > +++ b/src/util/tests/string_buffer/meson.build > @@ -23,6 +23,7 @@ test( > executable( > 'string_buffer_test', > 'string_buffer_test.cpp', > + cpp_args : [cpp_msvc_compat_args], > dependencies : [dep_thread, dep_dl, idep_gtest], > include_directories : inc_common, > link_with : [libmesa_util], > -- > 2.17.1 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev