rrthomas / enchant

enchant spellchecking library
http://rrthomas.github.io/enchant/
GNU Lesser General Public License v2.1
347 stars 60 forks source link

2.7.0: build fails #364

Closed kloczek closed 6 months ago

kloczek commented 6 months ago

With latest glibc snapshot when project is build with -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 in $CFLAGS some warnings are turned into errors. In this case problem is with [-Wincompatible-pointer-types]

make[3]: Entering directory '/home/tkloczko/rpmbuild/BUILD/enchant-2.7.0/src'
/bin/sh ../libtool  --tag=CC   --mode=compile /usr/bin/gcc -DHAVE_CONFIG_H -I. -I..  --include config.h -I.. -I../lib -I../lib -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include  -DG_LOG_DOMAIN='"libenchant"' -D_ENCHANT_BUILD=1 -DENCHANT_VERSION_STRING=\"2.7.0\" -DENCHANT_MAJOR_VERSION=\"2\"   -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -O2 -g -grecord-gcc-switches -pipe -mtls-dialect=gnu2 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fdata-sections -ffunction-sections -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -flto=auto -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -Wall -Werror=format-security -c -o libenchant_2_la-dict.lo `test -f 'dict.c' || echo './'`dict.c
libtool: compile:  /usr/bin/gcc -DHAVE_CONFIG_H -I. -I.. --include config.h -I.. -I../lib -I../lib -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -DG_LOG_DOMAIN=\"libenchant\" -D_ENCHANT_BUILD=1 -DENCHANT_VERSION_STRING=\"2.7.0\" -DENCHANT_MAJOR_VERSION=\"2\" -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -O2 -g -grecord-gcc-switches -pipe -mtls-dialect=gnu2 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fdata-sections -ffunction-sections -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -flto=auto -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -Wall -Werror=format-security -c dict.c  -fPIC -DPIC -o .libs/libenchant_2_la-dict.o
dict.vala: In function 'enchant_dict_is_word_character':
dict.vala:81:27: warning: Deprecated pre-processor symbol: replace with "G_UNICODE_SPACING_MARK"
   81 |                 switch (type) {
      |                           ^~~~~
dict.c: In function 'enchant_dict_filter_suggestions':
dict.c:741:22: warning: unused variable '_sugg_collection_size_' [-Wunused-variable]
  741 |                 gint _sugg_collection_size_ = 0;
      |                      ^~~~~~~~~~~~~~~~~~~~~~
dict.c: In function 'enchant_dict_suggest':
dict.c:911:33: warning: variable '_tmp15_' set but not used [-Wunused-but-set-variable]
  911 |                         gchar** _tmp15_;
      |                                 ^~~~~~~
dict.c:879:22: warning: variable '_tmp11__length1' set but not used [-Wunused-but-set-variable]
  879 |                 gint _tmp11__length1;
      |                      ^~~~~~~~~~~~~~~
dict.c:958:33: warning: variable '_tmp18_' set but not used [-Wunused-but-set-variable]
  958 |                         gchar** _tmp18_;
      |                                 ^~~~~~~
dict.c:950:22: warning: variable '_tmp17__length1' set but not used [-Wunused-but-set-variable]
  950 |                 gint _tmp17__length1;
      |                      ^~~~~~~~~~~~~~~
dict.c:833:14: warning: variable '_dict_suggs_size_' set but not used [-Wunused-but-set-variable]
  833 |         gint _dict_suggs_size_;
      |              ^~~~~~~~~~~~~~~~~
dict.vala: In function 'enchant_dict_free_string_list':
dict.vala:251:28: error: passing argument 1 of 'g_strfreev' from incompatible pointer type [-Wincompatible-pointer-types]
  251 |                 strfreev((string **)string_list);
      |                            ^~~~~~~~~~~~~~~~~~~~~~
      |                            |
      |                            const gchar ** {aka const char **}
In file included from /usr/include/glib-2.0/glib/gstring.h:37,
                 from /usr/include/glib-2.0/glib/giochannel.h:36,
                 from /usr/include/glib-2.0/glib.h:56,
                 from dict.c:33:
/usr/include/glib-2.0/glib/gstrfuncs.h:379:55: note: expected 'gchar **' {aka 'char **'} but argument is of type 'const gchar **' {aka 'const char **'}
  379 | void                  g_strfreev       (gchar       **str_array);
      |                                         ~~~~~~~~~~~~~~^~~~~~~~~
In file included from /usr/include/glib-2.0/glib/gthread.h:34,
                 from /usr/include/glib-2.0/glib/gasyncqueue.h:34,
                 from /usr/include/glib-2.0/glib.h:34:
dict.c: In function 'enchant_dict_get_type':
/usr/include/glib-2.0/glib/gatomic.h:131:5: warning: argument 2 of '__atomic_load' discards 'volatile' qualifier [-Wdiscarded-qualifiers]
  131 |     __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
      |     ^~~~~~~~~~~~~
/usr/include/glib-2.0/glib/gthread.h:272:7: note: in expansion of macro 'g_atomic_pointer_get'
  272 |     (!g_atomic_pointer_get (location) &&                             \
      |       ^~~~~~~~~~~~~~~~~~~~
dict.c:1784:13: note: in expansion of macro 'g_once_init_enter'
 1784 |         if (g_once_init_enter (&enchant_dict_type_id__once)) {
      |             ^~~~~~~~~~~~~~~~~
make[3]: *** [Makefile:791: libenchant_2_la-dict.lo] Error 1
rrthomas commented 6 months ago

Oh, annoying. This is ultimately due to weirdness in the way that Vala types map to C types, I'll have to find a workaround that doesn't upset the C compiler.

kloczek commented 6 months ago

Summary stats with disabled that option on building library and test suite

[tkloczko@pers-jacek SPECS]$ rpmbuild -ba enchant.spec --quiet 2>&1 | grep -- \\[-W | sed 's/.*\[//; s/\]//' | sort | uniq -c | sort -nr
    142 -Wunused-function
     19 -Wunused-but-set-variable
     15 -Wsign-compare
      7 -Wdiscarded-qualifiers
      4 -Wunused-variable
      4 -Wunused-value
      1 -Wincompatible-pointer-types

First two should be easy to clean 😋 If you want I can drop extracted stderr with those warigs🙄

rrthomas commented 6 months ago

@kloczek extracted stderr would be great, thanks!

I'm not sure what you mean by "first two"? Since the C is generated code, I won't be trying to fix all the warnings (e.g. for unused variables).

kloczek commented 6 months ago
Here it is extracted stderr with warnings: ```console provider.c: In function 'string_get_data': provider.c:259:14: warning: variable '_res_size_' set but not used [-Wunused-but-set-variable] 259 | gint _res_size_; | ^~~~~~~~~~ In file included from /usr/include/glib-2.0/glib.h:64, from provider.c:35: gnu.vapi: In function '_vala_relocate': /usr/include/glib-2.0/glib/gmessages.h:671:16: warning: return discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 671 | return (val); \ | ^ gnu.vapi:81:16: note: in expansion of macro 'g_return_val_if_fail' 81 | GLib.return_val_if_fail(newpath.data == path.data, newpath); | ^ ~~~~~~~~~~~~~~~~~~~ provider.c:309:14: warning: variable '_tmp6__length1' set but not used [-Wunused-but-set-variable] 309 | gint _tmp6__length1; | ^~~~~~~~~~~~~~ provider.c:304:14: warning: variable '_tmp3__length1' set but not used [-Wunused-but-set-variable] 304 | gint _tmp3__length1; | ^~~~~~~~~~~~~~ provider.c: In function '_enchant_provider_dictionary_exists': provider.c:655:8: warning: unused variable '_dict_collection_size_' [-Wunused-variable] 655 | #line 652 "provider.c" | ^~~~~~~~~~~~~~~ In file included from /usr/include/glib-2.0/glib/gthread.h:34, from /usr/include/glib-2.0/glib/gasyncqueue.h:34, from /usr/include/glib-2.0/glib.h:34: provider.c: In function 'enchant_provider_get_type': /usr/include/glib-2.0/glib/gatomic.h:131:5: warning: argument 2 of '__atomic_load' discards 'volatile' qualifier [-Wdiscarded-qualifiers] 131 | __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \ | ^~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gthread.h:272:7: note: in expansion of macro 'g_atomic_pointer_get' 272 | (!g_atomic_pointer_get (location) && \ | ^~~~~~~~~~~~~~~~~~~~ provider.c:1033:6: note: in expansion of macro 'g_once_init_enter' 1033 | GType | ^ In file included from /usr/include/glib-2.0/glib/gthread.h:34, from /usr/include/glib-2.0/glib/gasyncqueue.h:34, from /usr/include/glib-2.0/glib.h:34, from /usr/include/glib-2.0/gobject/gbinding.h:30, from /usr/include/glib-2.0/glib-object.h:24, from session.c:33: session.c: In function 'enchant_session_get_type': /usr/include/glib-2.0/glib/gatomic.h:131:5: warning: argument 2 of '__atomic_load' discards 'volatile' qualifier [-Wdiscarded-qualifiers] 131 | __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \ | ^~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gthread.h:272:7: note: in expansion of macro 'g_atomic_pointer_get' 272 | (!g_atomic_pointer_get (location) && \ | ^~~~~~~~~~~~~~~~~~~~ session.c:960:13: note: in expansion of macro 'g_once_init_enter' 960 | if (g_once_init_enter (&enchant_session_type_id__once)) { | ^~~~~~~~~~~~~~~~~ pwl.vala: In function 'is_all_caps': pwl.vala:62:27: warning: Deprecated pre-processor symbol: replace with "G_UNICODE_SPACING_MARK" 62 | switch(type) { | ^~~~ pwl.c: In function 'enchant_pwl_remove': pwl.c:1315:78: warning: variable '_tmp55_' set but not used [-Wunused-but-set-variable] 1315 | gint _tmp55_; | ^~~~~~~ pwl.c:1010:23: warning: variable 'length' set but not used [-Wunused-but-set-variable] 1010 | gsize length = 0UL; | ^~~~~~ pwl.c: In function 'enchant_pwl_refresh_from_file': pwl.c:1777:39: warning: variable '_tmp14_' set but not used [-Wunused-but-set-variable] 1777 | gsize _tmp14_; | ^~~~~~~ In file included from /usr/include/glib-2.0/glib/gthread.h:34, from /usr/include/glib-2.0/glib/gasyncqueue.h:34, from /usr/include/glib-2.0/glib.h:34, from pwl.c:33: pwl.c: In function 'enchant_pwl_get_type': /usr/include/glib-2.0/glib/gatomic.h:131:5: warning: argument 2 of '__atomic_load' discards 'volatile' qualifier [-Wdiscarded-qualifiers] 131 | __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \ | ^~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gthread.h:272:7: note: in expansion of macro 'g_atomic_pointer_get' 272 | (!g_atomic_pointer_get (location) && \ | ^~~~~~~~~~~~~~~~~~~~ pwl.c:2148:13: note: in expansion of macro 'g_once_init_enter' 2148 | if (g_once_init_enter (&enchant_pwl_type_id__once)) { | ^~~~~~~~~~~~~~~~~ dict.vala: In function 'enchant_dict_is_word_character': dict.vala:81:27: warning: Deprecated pre-processor symbol: replace with "G_UNICODE_SPACING_MARK" 81 | switch (type) { | ^~~~~ dict.c: In function 'enchant_dict_filter_suggestions': dict.c:741:22: warning: unused variable '_sugg_collection_size_' [-Wunused-variable] 741 | gint _sugg_collection_size_ = 0; | ^~~~~~~~~~~~~~~~~~~~~~ dict.c: In function 'enchant_dict_suggest': dict.c:911:33: warning: variable '_tmp15_' set but not used [-Wunused-but-set-variable] 911 | gchar** _tmp15_; | ^~~~~~~ dict.c:879:22: warning: variable '_tmp11__length1' set but not used [-Wunused-but-set-variable] 879 | gint _tmp11__length1; | ^~~~~~~~~~~~~~~ dict.c:958:33: warning: variable '_tmp18_' set but not used [-Wunused-but-set-variable] 958 | gchar** _tmp18_; | ^~~~~~~ dict.c:950:22: warning: variable '_tmp17__length1' set but not used [-Wunused-but-set-variable] 950 | gint _tmp17__length1; | ^~~~~~~~~~~~~~~ dict.c:833:14: warning: variable '_dict_suggs_size_' set but not used [-Wunused-but-set-variable] 833 | gint _dict_suggs_size_; | ^~~~~~~~~~~~~~~~~ dict.vala: In function 'enchant_dict_free_string_list': dict.vala:251:28: warning: passing argument 1 of 'g_strfreev' from incompatible pointer type [-Wincompatible-pointer-types] 251 | strfreev((string **)string_list); | ^~~~~~~~~~~~~~~~~~~~~~ | | | const gchar ** {aka const char **} In file included from /usr/include/glib-2.0/glib/gstring.h:37, from /usr/include/glib-2.0/glib/giochannel.h:36, from /usr/include/glib-2.0/glib.h:56, from dict.c:33: /usr/include/glib-2.0/glib/gstrfuncs.h:379:55: note: expected 'gchar **' {aka 'char **'} but argument is of type 'const gchar **' {aka 'const char **'} 379 | void g_strfreev (gchar **str_array); | ~~~~~~~~~~~~~~^~~~~~~~~ In file included from /usr/include/glib-2.0/glib/gthread.h:34, from /usr/include/glib-2.0/glib/gasyncqueue.h:34, from /usr/include/glib-2.0/glib.h:34: dict.c: In function 'enchant_dict_get_type': /usr/include/glib-2.0/glib/gatomic.h:131:5: warning: argument 2 of '__atomic_load' discards 'volatile' qualifier [-Wdiscarded-qualifiers] 131 | __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \ | ^~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gthread.h:272:7: note: in expansion of macro 'g_atomic_pointer_get' 272 | (!g_atomic_pointer_get (location) && \ | ^~~~~~~~~~~~~~~~~~~~ dict.c:1784:13: note: in expansion of macro 'g_once_init_enter' 1784 | if (g_once_init_enter (&enchant_dict_type_id__once)) { | ^~~~~~~~~~~~~~~~~ broker.c: In function 'normalize_dictionary_tag': broker.c:566:38: warning: variable '_tmp9_' set but not used [-Wunused-but-set-variable] 566 | gint _tmp9_; | ^~~~~~ broker.c:668:46: warning: variable '_tmp24_' set but not used [-Wunused-but-set-variable] 668 | gint _tmp24_; | ^~~~~~~ broker.c:651:30: warning: variable '_tmp22_' set but not used [-Wunused-but-set-variable] 651 | gint _tmp22_; | ^~~~~~~ broker.c: In function 'string_get_data': broker.c:945:14: warning: variable '_res_size_' set but not used [-Wunused-but-set-variable] 945 | gint _res_size_; | ^~~~~~~~~~ In file included from /usr/include/glib-2.0/glib.h:64, from broker.c:35: gnu.vapi: In function '_vala_relocate': /usr/include/glib-2.0/glib/gmessages.h:671:16: warning: return discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 671 | return (val); \ | ^ gnu.vapi:81:16: note: in expansion of macro 'g_return_val_if_fail' 81 | GLib.return_val_if_fail(newpath.data == path.data, newpath); | ^ ~~~~~~~~~~~~~~~~~~~ broker.c:995:14: warning: variable '_tmp6__length1' set but not used [-Wunused-but-set-variable] 995 | gint _tmp6__length1; | ^~~~~~~~~~~~~~ broker.c:990:14: warning: variable '_tmp3__length1' set but not used [-Wunused-but-set-variable] 990 | gint _tmp3__length1; | ^~~~~~~~~~~~~~ broker.c: In function 'enchant_broker_get_ordered_providers': broker.c:1891:30: warning: unused variable '_token_collection_size_' [-Wunused-variable] 1891 | gchar** token_collection = NULL; | ^~~~~~~~~~~~~~~~~~~~~~~ broker.c:1870:22: warning: variable '_tokens_size_' set but not used [-Wunused-but-set-variable] 1870 | gchar** _tmp10_; | ^~~~~~~~~~~ broker.c: In function 'enchant_broker_list_dicts': broker.c:2501:46: warning: unused variable '_tag_collection_size_' [-Wunused-variable] 2501 | gchar** tag_collection = NULL; | ^~~~~~~~~~~~~~~~~~~~~ glib-2.0.vapi: In function 'vala_g_list_remove_full': glib-2.0.vapi:5101:10: warning: passing argument 1 of 'func' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] glib-2.0.vapi:5101:10: note: expected 'gpointer' {aka 'void *'} but argument is of type 'gconstpointer' {aka 'const void *'} /usr/bin/nm: .libs/libenchant_2_la-dummy.o: no symbols /usr/bin/nm: libgnu_la-dummy.o: no symbols libtool: warning: remember to run 'libtool --finish /usr/lib64' libtool: warning: 'libenchant-2.la' has not been installed in '/usr/lib64' libtool: warning: 'libenchant-2.la' has not been installed in '/usr/lib64' libtool: warning: relinking 'enchant_hunspell.la' libtool: warning: relinking 'enchant_voikko.la' libtool: warning: remember to run 'libtool --finish /usr/lib64/enchant-2' gdb-add-index: Failed to find a useable GDB binary gdb-add-index: Failed to find a useable GDB binary gdb-add-index: Failed to find a useable GDB binary gdb-add-index: Failed to find a useable GDB binary gdb-add-index: Failed to find a useable GDB binary cpio: src/glib-2.0.vapi: Cannot stat: No such file or directory 765 blocks *** WARNING: ./usr/lib64/libenchant-2.la is executable but has no shebang, removing executable bit *** WARNING: ./usr/lib64/enchant-2/enchant_hunspell.la is executable but has no shebang, removing executable bit *** WARNING: ./usr/lib64/enchant-2/enchant_voikko.la is executable but has no shebang, removing executable bit In file included from main.test.cpp:25: EnchantBrokerTestFixture.h:83:1: warning: ‘char** MockEnGbProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 83 | MockEnGbProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ EnchantBrokerTestFixture.h:71:1: warning: ‘char** MockEnGbAndQaaProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 71 | MockEnGbAndQaaProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ EnchantBrokerTestFixture.h:65:1: warning: ‘const char* MockProviderDescribe(EnchantProvider*)’ defined but not used [-Wunused-function] 65 | MockProviderDescribe (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ EnchantBrokerTestFixture.h:59:1: warning: ‘const char* MockProviderIdentify(EnchantProvider*)’ defined but not used [-Wunused-function] 59 | MockProviderIdentify (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ EnchantBrokerTestFixture.h:54:1: warning: ‘void MockProviderDisposeDictionary(EnchantProvider*, EnchantDict*)’ defined but not used [-Wunused-function] 54 | MockProviderDisposeDictionary (EnchantProvider *, EnchantDict * dict) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ EnchantBrokerTestFixture.h:43:1: warning: ‘EnchantDict* MockEnGbAndQaaProviderRequestDictionary(EnchantProvider*, const char*)’ defined but not used [-Wunused-function] 43 | MockEnGbAndQaaProviderRequestDictionary(EnchantProvider * me, const char *tag) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from dictionary/enchant_dict_is_added_tests.cpp:24: ./EnchantDictionaryTestFixture.h: In function ‘char** MockDictionarySuggest(EnchantDict*, const char*, size_t, size_t*)’: ./EnchantDictionaryTestFixture.h:63:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare] 63 | if(len == -1) { | ~~~~^~~~~ ./EnchantDictionaryTestFixture.h: At global scope: ./EnchantDictionaryTestFixture.h:46:13: warning: ‘void EmptyDictionary_ProviderConfiguration(EnchantProvider*, const char*)’ defined but not used [-Wunused-function] 46 | static void EmptyDictionary_ProviderConfiguration (EnchantProvider * me, const char *) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ./EnchantDictionaryTestFixture.h:25: ./EnchantBrokerTestFixture.h:83:1: warning: ‘char** MockEnGbProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 83 | MockEnGbProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:71:1: warning: ‘char** MockEnGbAndQaaProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 71 | MockEnGbAndQaaProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:65:1: warning: ‘const char* MockProviderDescribe(EnchantProvider*)’ defined but not used [-Wunused-function] 65 | MockProviderDescribe (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:59:1: warning: ‘const char* MockProviderIdentify(EnchantProvider*)’ defined but not used [-Wunused-function] 59 | MockProviderIdentify (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:43:1: warning: ‘EnchantDict* MockEnGbAndQaaProviderRequestDictionary(EnchantProvider*, const char*)’ defined but not used [-Wunused-function] 43 | MockEnGbAndQaaProviderRequestDictionary(EnchantProvider * me, const char *tag) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from dictionary/enchant_dict_describe_tests.cpp:24: ./EnchantDictionaryTestFixture.h: In function ‘char** MockDictionarySuggest(EnchantDict*, const char*, size_t, size_t*)’: ./EnchantDictionaryTestFixture.h:63:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare] 63 | if(len == -1) { | ~~~~^~~~~ In file included from ./EnchantDictionaryTestFixture.h:25: ./EnchantBrokerTestFixture.h: At global scope: ./EnchantBrokerTestFixture.h:83:1: warning: ‘char** MockEnGbProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 83 | MockEnGbProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:71:1: warning: ‘char** MockEnGbAndQaaProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 71 | MockEnGbAndQaaProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:65:1: warning: ‘const char* MockProviderDescribe(EnchantProvider*)’ defined but not used [-Wunused-function] 65 | MockProviderDescribe (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:59:1: warning: ‘const char* MockProviderIdentify(EnchantProvider*)’ defined but not used [-Wunused-function] 59 | MockProviderIdentify (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:43:1: warning: ‘EnchantDict* MockEnGbAndQaaProviderRequestDictionary(EnchantProvider*, const char*)’ defined but not used [-Wunused-function] 43 | MockEnGbAndQaaProviderRequestDictionary(EnchantProvider * me, const char *tag) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from dictionary/enchant_dict_free_string_list_tests.cpp:24: ./EnchantDictionaryTestFixture.h: In function ‘char** MockDictionarySuggest(EnchantDict*, const char*, size_t, size_t*)’: ./EnchantDictionaryTestFixture.h:63:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare] 63 | if(len == -1) { | ~~~~^~~~~ ./EnchantDictionaryTestFixture.h: At global scope: ./EnchantDictionaryTestFixture.h:46:13: warning: ‘void EmptyDictionary_ProviderConfiguration(EnchantProvider*, const char*)’ defined but not used [-Wunused-function] 46 | static void EmptyDictionary_ProviderConfiguration (EnchantProvider * me, const char *) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ./EnchantDictionaryTestFixture.h:25: ./EnchantBrokerTestFixture.h:83:1: warning: ‘char** MockEnGbProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 83 | MockEnGbProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:71:1: warning: ‘char** MockEnGbAndQaaProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 71 | MockEnGbAndQaaProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:65:1: warning: ‘const char* MockProviderDescribe(EnchantProvider*)’ defined but not used [-Wunused-function] 65 | MockProviderDescribe (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:59:1: warning: ‘const char* MockProviderIdentify(EnchantProvider*)’ defined but not used [-Wunused-function] 59 | MockProviderIdentify (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:43:1: warning: ‘EnchantDict* MockEnGbAndQaaProviderRequestDictionary(EnchantProvider*, const char*)’ defined but not used [-Wunused-function] 43 | MockEnGbAndQaaProviderRequestDictionary(EnchantProvider * me, const char *tag) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from broker/enchant_broker_get_error_tests.cpp:24: ./EnchantBrokerTestFixture.h:83:1: warning: ‘char** MockEnGbProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 83 | MockEnGbProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:71:1: warning: ‘char** MockEnGbAndQaaProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 71 | MockEnGbAndQaaProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:65:1: warning: ‘const char* MockProviderDescribe(EnchantProvider*)’ defined but not used [-Wunused-function] 65 | MockProviderDescribe (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:59:1: warning: ‘const char* MockProviderIdentify(EnchantProvider*)’ defined but not used [-Wunused-function] 59 | MockProviderIdentify (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:54:1: warning: ‘void MockProviderDisposeDictionary(EnchantProvider*, EnchantDict*)’ defined but not used [-Wunused-function] 54 | MockProviderDisposeDictionary (EnchantProvider *, EnchantDict * dict) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:43:1: warning: ‘EnchantDict* MockEnGbAndQaaProviderRequestDictionary(EnchantProvider*, const char*)’ defined but not used [-Wunused-function] 43 | MockEnGbAndQaaProviderRequestDictionary(EnchantProvider * me, const char *tag) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from dictionary/enchant_dict_get_error_tests.cpp:24: ./EnchantDictionaryTestFixture.h: In function ‘char** MockDictionarySuggest(EnchantDict*, const char*, size_t, size_t*)’: ./EnchantDictionaryTestFixture.h:63:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare] 63 | if(len == -1) { | ~~~~^~~~~ ./EnchantDictionaryTestFixture.h: At global scope: ./EnchantDictionaryTestFixture.h:46:13: warning: ‘void EmptyDictionary_ProviderConfiguration(EnchantProvider*, const char*)’ defined but not used [-Wunused-function] 46 | static void EmptyDictionary_ProviderConfiguration (EnchantProvider * me, const char *) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ./EnchantDictionaryTestFixture.h:25: ./EnchantBrokerTestFixture.h:83:1: warning: ‘char** MockEnGbProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 83 | MockEnGbProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:71:1: warning: ‘char** MockEnGbAndQaaProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 71 | MockEnGbAndQaaProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:65:1: warning: ‘const char* MockProviderDescribe(EnchantProvider*)’ defined but not used [-Wunused-function] 65 | MockProviderDescribe (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:59:1: warning: ‘const char* MockProviderIdentify(EnchantProvider*)’ defined but not used [-Wunused-function] 59 | MockProviderIdentify (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:43:1: warning: ‘EnchantDict* MockEnGbAndQaaProviderRequestDictionary(EnchantProvider*, const char*)’ defined but not used [-Wunused-function] 43 | MockEnGbAndQaaProviderRequestDictionary(EnchantProvider * me, const char *tag) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from broker/enchant_broker_free_tests.cpp:24: ./EnchantBrokerTestFixture.h:83:1: warning: ‘char** MockEnGbProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 83 | MockEnGbProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:71:1: warning: ‘char** MockEnGbAndQaaProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 71 | MockEnGbAndQaaProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:65:1: warning: ‘const char* MockProviderDescribe(EnchantProvider*)’ defined but not used [-Wunused-function] 65 | MockProviderDescribe (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:59:1: warning: ‘const char* MockProviderIdentify(EnchantProvider*)’ defined but not used [-Wunused-function] 59 | MockProviderIdentify (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ In file included from provider/enchant_provider_broker_set_error_tests.cpp:25: ./EnchantBrokerTestFixture.h:83:1: warning: ‘char** MockEnGbProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 83 | MockEnGbProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:71:1: warning: ‘char** MockEnGbAndQaaProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 71 | MockEnGbAndQaaProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:65:1: warning: ‘const char* MockProviderDescribe(EnchantProvider*)’ defined but not used [-Wunused-function] 65 | MockProviderDescribe (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:59:1: warning: ‘const char* MockProviderIdentify(EnchantProvider*)’ defined but not used [-Wunused-function] 59 | MockProviderIdentify (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:54:1: warning: ‘void MockProviderDisposeDictionary(EnchantProvider*, EnchantDict*)’ defined but not used [-Wunused-function] 54 | MockProviderDisposeDictionary (EnchantProvider *, EnchantDict * dict) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:43:1: warning: ‘EnchantDict* MockEnGbAndQaaProviderRequestDictionary(EnchantProvider*, const char*)’ defined but not used [-Wunused-function] 43 | MockEnGbAndQaaProviderRequestDictionary(EnchantProvider * me, const char *tag) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from broker/enchant_broker_free_dict_tests.cpp:24: ./EnchantBrokerTestFixture.h:83:1: warning: ‘char** MockEnGbProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 83 | MockEnGbProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:71:1: warning: ‘char** MockEnGbAndQaaProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 71 | MockEnGbAndQaaProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:65:1: warning: ‘const char* MockProviderDescribe(EnchantProvider*)’ defined but not used [-Wunused-function] 65 | MockProviderDescribe (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:59:1: warning: ‘const char* MockProviderIdentify(EnchantProvider*)’ defined but not used [-Wunused-function] 59 | MockProviderIdentify (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ In file included from dictionary/enchant_dict_get_extra_word_characters_tests.cpp:25: ./EnchantDictionaryTestFixture.h: In function ‘char** MockDictionarySuggest(EnchantDict*, const char*, size_t, size_t*)’: ./EnchantDictionaryTestFixture.h:63:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare] 63 | if(len == -1) { | ~~~~^~~~~ ./EnchantDictionaryTestFixture.h: At global scope: ./EnchantDictionaryTestFixture.h:46:13: warning: ‘void EmptyDictionary_ProviderConfiguration(EnchantProvider*, const char*)’ defined but not used [-Wunused-function] 46 | static void EmptyDictionary_ProviderConfiguration (EnchantProvider * me, const char *) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ./EnchantDictionaryTestFixture.h:25: ./EnchantBrokerTestFixture.h:83:1: warning: ‘char** MockEnGbProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 83 | MockEnGbProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:71:1: warning: ‘char** MockEnGbAndQaaProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 71 | MockEnGbAndQaaProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:65:1: warning: ‘const char* MockProviderDescribe(EnchantProvider*)’ defined but not used [-Wunused-function] 65 | MockProviderDescribe (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:59:1: warning: ‘const char* MockProviderIdentify(EnchantProvider*)’ defined but not used [-Wunused-function] 59 | MockProviderIdentify (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:43:1: warning: ‘EnchantDict* MockEnGbAndQaaProviderRequestDictionary(EnchantProvider*, const char*)’ defined but not used [-Wunused-function] 43 | MockEnGbAndQaaProviderRequestDictionary(EnchantProvider * me, const char *tag) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from broker/enchant_broker_request_pwl_dict_tests.cpp:24: ./EnchantBrokerTestFixture.h:83:1: warning: ‘char** MockEnGbProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 83 | MockEnGbProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:71:1: warning: ‘char** MockEnGbAndQaaProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 71 | MockEnGbAndQaaProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:65:1: warning: ‘const char* MockProviderDescribe(EnchantProvider*)’ defined but not used [-Wunused-function] 65 | MockProviderDescribe (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:59:1: warning: ‘const char* MockProviderIdentify(EnchantProvider*)’ defined but not used [-Wunused-function] 59 | MockProviderIdentify (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:54:1: warning: ‘void MockProviderDisposeDictionary(EnchantProvider*, EnchantDict*)’ defined but not used [-Wunused-function] 54 | MockProviderDisposeDictionary (EnchantProvider *, EnchantDict * dict) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:43:1: warning: ‘EnchantDict* MockEnGbAndQaaProviderRequestDictionary(EnchantProvider*, const char*)’ defined but not used [-Wunused-function] 43 | MockEnGbAndQaaProviderRequestDictionary(EnchantProvider * me, const char *tag) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ enchant_providers/Dictionary/dictionary_check.cpp: In member function ‘virtual void DictionaryCheck_TestFixture::ReleaseDictionary(EnchantDict*)’: enchant_providers/Dictionary/dictionary_check.cpp:59:19: warning: variable ‘addedWords’ set but not used [-Wunused-but-set-variable] 59 | addedWords = _addedWordsByDict.equal_range(dict); | ^~~~~~~~~~ In file included from dictionary/enchant_dict_add_to_session_tests.cpp:24: ./EnchantDictionaryTestFixture.h: In function ‘char** MockDictionarySuggest(EnchantDict*, const char*, size_t, size_t*)’: ./EnchantDictionaryTestFixture.h:63:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare] 63 | if(len == -1) { | ~~~~^~~~~ dictionary/enchant_dict_add_to_session_tests.cpp: In function ‘void MockDictionaryAddToSession(EnchantDict*, const char*, size_t)’: dictionary/enchant_dict_add_to_session_tests.cpp:32:5: warning: statement has no effect [-Wunused-value] 32 | dict; | ^~~~ In file included from ./EnchantDictionaryTestFixture.h:25: ./EnchantBrokerTestFixture.h: At global scope: ./EnchantBrokerTestFixture.h:83:1: warning: ‘char** MockEnGbProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 83 | MockEnGbProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:71:1: warning: ‘char** MockEnGbAndQaaProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 71 | MockEnGbAndQaaProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:65:1: warning: ‘const char* MockProviderDescribe(EnchantProvider*)’ defined but not used [-Wunused-function] 65 | MockProviderDescribe (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:59:1: warning: ‘const char* MockProviderIdentify(EnchantProvider*)’ defined but not used [-Wunused-function] 59 | MockProviderIdentify (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:43:1: warning: ‘EnchantDict* MockEnGbAndQaaProviderRequestDictionary(EnchantProvider*, const char*)’ defined but not used [-Wunused-function] 43 | MockEnGbAndQaaProviderRequestDictionary(EnchantProvider * me, const char *tag) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from dictionary/enchant_dict_add_tests.cpp:24: ./EnchantDictionaryTestFixture.h: In function ‘char** MockDictionarySuggest(EnchantDict*, const char*, size_t, size_t*)’: ./EnchantDictionaryTestFixture.h:63:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare] 63 | if(len == -1) { | ~~~~^~~~~ ./EnchantDictionaryTestFixture.h: At global scope: ./EnchantDictionaryTestFixture.h:46:13: warning: ‘void EmptyDictionary_ProviderConfiguration(EnchantProvider*, const char*)’ defined but not used [-Wunused-function] 46 | static void EmptyDictionary_ProviderConfiguration (EnchantProvider * me, const char *) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ./EnchantDictionaryTestFixture.h:25: ./EnchantBrokerTestFixture.h:83:1: warning: ‘char** MockEnGbProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 83 | MockEnGbProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:71:1: warning: ‘char** MockEnGbAndQaaProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 71 | MockEnGbAndQaaProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:65:1: warning: ‘const char* MockProviderDescribe(EnchantProvider*)’ defined but not used [-Wunused-function] 65 | MockProviderDescribe (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:59:1: warning: ‘const char* MockProviderIdentify(EnchantProvider*)’ defined but not used [-Wunused-function] 59 | MockProviderIdentify (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:43:1: warning: ‘EnchantDict* MockEnGbAndQaaProviderRequestDictionary(EnchantProvider*, const char*)’ defined but not used [-Wunused-function] 43 | MockEnGbAndQaaProviderRequestDictionary(EnchantProvider * me, const char *tag) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from broker/enchant_broker_request_dict_with_pwl_tests.cpp:25: ./EnchantBrokerTestFixture.h:83:1: warning: ‘char** MockEnGbProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 83 | MockEnGbProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:71:1: warning: ‘char** MockEnGbAndQaaProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 71 | MockEnGbAndQaaProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:65:1: warning: ‘const char* MockProviderDescribe(EnchantProvider*)’ defined but not used [-Wunused-function] 65 | MockProviderDescribe (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:59:1: warning: ‘const char* MockProviderIdentify(EnchantProvider*)’ defined but not used [-Wunused-function] 59 | MockProviderIdentify (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ In file included from dictionary/enchant_dict_check_tests.cpp:24: ./EnchantDictionaryTestFixture.h: In function ‘char** MockDictionarySuggest(EnchantDict*, const char*, size_t, size_t*)’: ./EnchantDictionaryTestFixture.h:63:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare] 63 | if(len == -1) { | ~~~~^~~~~ dictionary/enchant_dict_check_tests.cpp: In function ‘int MockDictionaryCheck(EnchantDict*, const char*, size_t)’: dictionary/enchant_dict_check_tests.cpp:31:5: warning: statement has no effect [-Wunused-value] 31 | dict; | ^~~~ In file included from ./EnchantDictionaryTestFixture.h:25: ./EnchantBrokerTestFixture.h: At global scope: ./EnchantBrokerTestFixture.h:83:1: warning: ‘char** MockEnGbProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 83 | MockEnGbProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:71:1: warning: ‘char** MockEnGbAndQaaProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 71 | MockEnGbAndQaaProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:65:1: warning: ‘const char* MockProviderDescribe(EnchantProvider*)’ defined but not used [-Wunused-function] 65 | MockProviderDescribe (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:59:1: warning: ‘const char* MockProviderIdentify(EnchantProvider*)’ defined but not used [-Wunused-function] 59 | MockProviderIdentify (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:43:1: warning: ‘EnchantDict* MockEnGbAndQaaProviderRequestDictionary(EnchantProvider*, const char*)’ defined but not used [-Wunused-function] 43 | MockEnGbAndQaaProviderRequestDictionary(EnchantProvider * me, const char *tag) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from dictionary/enchant_dict_is_removed_tests.cpp:24: ./EnchantDictionaryTestFixture.h: In function ‘char** MockDictionarySuggest(EnchantDict*, const char*, size_t, size_t*)’: ./EnchantDictionaryTestFixture.h:63:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare] 63 | if(len == -1) { | ~~~~^~~~~ ./EnchantDictionaryTestFixture.h: At global scope: ./EnchantDictionaryTestFixture.h:46:13: warning: ‘void EmptyDictionary_ProviderConfiguration(EnchantProvider*, const char*)’ defined but not used [-Wunused-function] 46 | static void EmptyDictionary_ProviderConfiguration (EnchantProvider * me, const char *) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ./EnchantDictionaryTestFixture.h:25: ./EnchantBrokerTestFixture.h:83:1: warning: ‘char** MockEnGbProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 83 | MockEnGbProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:71:1: warning: ‘char** MockEnGbAndQaaProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 71 | MockEnGbAndQaaProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:65:1: warning: ‘const char* MockProviderDescribe(EnchantProvider*)’ defined but not used [-Wunused-function] 65 | MockProviderDescribe (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:59:1: warning: ‘const char* MockProviderIdentify(EnchantProvider*)’ defined but not used [-Wunused-function] 59 | MockProviderIdentify (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:43:1: warning: ‘EnchantDict* MockEnGbAndQaaProviderRequestDictionary(EnchantProvider*, const char*)’ defined but not used [-Wunused-function] 43 | MockEnGbAndQaaProviderRequestDictionary(EnchantProvider * me, const char *tag) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from provider/enchant_provider_dict_set_error_tests.cpp:24: ./EnchantDictionaryTestFixture.h: In function ‘char** MockDictionarySuggest(EnchantDict*, const char*, size_t, size_t*)’: ./EnchantDictionaryTestFixture.h:63:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare] 63 | if(len == -1) { | ~~~~^~~~~ ./EnchantDictionaryTestFixture.h: At global scope: ./EnchantDictionaryTestFixture.h:46:13: warning: ‘void EmptyDictionary_ProviderConfiguration(EnchantProvider*, const char*)’ defined but not used [-Wunused-function] 46 | static void EmptyDictionary_ProviderConfiguration (EnchantProvider * me, const char *) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ./EnchantDictionaryTestFixture.h:25: ./EnchantBrokerTestFixture.h:83:1: warning: ‘char** MockEnGbProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 83 | MockEnGbProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:71:1: warning: ‘char** MockEnGbAndQaaProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 71 | MockEnGbAndQaaProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:65:1: warning: ‘const char* MockProviderDescribe(EnchantProvider*)’ defined but not used [-Wunused-function] 65 | MockProviderDescribe (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:59:1: warning: ‘const char* MockProviderIdentify(EnchantProvider*)’ defined but not used [-Wunused-function] 59 | MockProviderIdentify (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:43:1: warning: ‘EnchantDict* MockEnGbAndQaaProviderRequestDictionary(EnchantProvider*, const char*)’ defined but not used [-Wunused-function] 43 | MockEnGbAndQaaProviderRequestDictionary(EnchantProvider * me, const char *tag) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from dictionary/enchant_dict_remove_from_session_tests.cpp:24: ./EnchantDictionaryTestFixture.h: In function ‘char** MockDictionarySuggest(EnchantDict*, const char*, size_t, size_t*)’: ./EnchantDictionaryTestFixture.h:63:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare] 63 | if(len == -1) { | ~~~~^~~~~ dictionary/enchant_dict_remove_from_session_tests.cpp: In function ‘int MockDictionaryCheck(EnchantDict*, const char*, size_t)’: dictionary/enchant_dict_remove_from_session_tests.cpp:31:5: warning: statement has no effect [-Wunused-value] 31 | dict; | ^~~~ ./EnchantDictionaryTestFixture.h: At global scope: ./EnchantDictionaryTestFixture.h:46:13: warning: ‘void EmptyDictionary_ProviderConfiguration(EnchantProvider*, const char*)’ defined but not used [-Wunused-function] 46 | static void EmptyDictionary_ProviderConfiguration (EnchantProvider * me, const char *) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ./EnchantDictionaryTestFixture.h:25: ./EnchantBrokerTestFixture.h:83:1: warning: ‘char** MockEnGbProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 83 | MockEnGbProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:71:1: warning: ‘char** MockEnGbAndQaaProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 71 | MockEnGbAndQaaProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:65:1: warning: ‘const char* MockProviderDescribe(EnchantProvider*)’ defined but not used [-Wunused-function] 65 | MockProviderDescribe (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:59:1: warning: ‘const char* MockProviderIdentify(EnchantProvider*)’ defined but not used [-Wunused-function] 59 | MockProviderIdentify (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:43:1: warning: ‘EnchantDict* MockEnGbAndQaaProviderRequestDictionary(EnchantProvider*, const char*)’ defined but not used [-Wunused-function] 43 | MockEnGbAndQaaProviderRequestDictionary(EnchantProvider * me, const char *tag) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from broker/enchant_broker_list_dicts_tests.cpp:24: ./EnchantBrokerTestFixture.h:71:1: warning: ‘char** MockEnGbAndQaaProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 71 | MockEnGbAndQaaProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:65:1: warning: ‘const char* MockProviderDescribe(EnchantProvider*)’ defined but not used [-Wunused-function] 65 | MockProviderDescribe (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:59:1: warning: ‘const char* MockProviderIdentify(EnchantProvider*)’ defined but not used [-Wunused-function] 59 | MockProviderIdentify (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:54:1: warning: ‘void MockProviderDisposeDictionary(EnchantProvider*, EnchantDict*)’ defined but not used [-Wunused-function] 54 | MockProviderDisposeDictionary (EnchantProvider *, EnchantDict * dict) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:43:1: warning: ‘EnchantDict* MockEnGbAndQaaProviderRequestDictionary(EnchantProvider*, const char*)’ defined but not used [-Wunused-function] 43 | MockEnGbAndQaaProviderRequestDictionary(EnchantProvider * me, const char *tag) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from broker/enchant_broker_request_dict_tests.cpp:24: ./EnchantBrokerTestFixture.h:83:1: warning: ‘char** MockEnGbProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 83 | MockEnGbProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:71:1: warning: ‘char** MockEnGbAndQaaProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 71 | MockEnGbAndQaaProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:65:1: warning: ‘const char* MockProviderDescribe(EnchantProvider*)’ defined but not used [-Wunused-function] 65 | MockProviderDescribe (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:59:1: warning: ‘const char* MockProviderIdentify(EnchantProvider*)’ defined but not used [-Wunused-function] 59 | MockProviderIdentify (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ In file included from broker/enchant_broker_describe_tests.cpp:27: ./EnchantBrokerTestFixture.h:83:1: warning: ‘char** MockEnGbProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 83 | MockEnGbProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:71:1: warning: ‘char** MockEnGbAndQaaProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 71 | MockEnGbAndQaaProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:54:1: warning: ‘void MockProviderDisposeDictionary(EnchantProvider*, EnchantDict*)’ defined but not used [-Wunused-function] 54 | MockProviderDisposeDictionary (EnchantProvider *, EnchantDict * dict) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:43:1: warning: ‘EnchantDict* MockEnGbAndQaaProviderRequestDictionary(EnchantProvider*, const char*)’ defined but not used [-Wunused-function] 43 | MockEnGbAndQaaProviderRequestDictionary(EnchantProvider * me, const char *tag) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from broker/enchant_broker_dict_exists_tests.cpp:24: ./EnchantBrokerTestFixture.h:83:1: warning: ‘char** MockEnGbProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 83 | MockEnGbProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:65:1: warning: ‘const char* MockProviderDescribe(EnchantProvider*)’ defined but not used [-Wunused-function] 65 | MockProviderDescribe (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:59:1: warning: ‘const char* MockProviderIdentify(EnchantProvider*)’ defined but not used [-Wunused-function] 59 | MockProviderIdentify (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ In file included from dictionary/enchant_dict_is_word_character_tests.cpp:27: ./EnchantDictionaryTestFixture.h: In function ‘char** MockDictionarySuggest(EnchantDict*, const char*, size_t, size_t*)’: ./EnchantDictionaryTestFixture.h:63:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare] 63 | if(len == -1) { | ~~~~^~~~~ ./EnchantDictionaryTestFixture.h: At global scope: ./EnchantDictionaryTestFixture.h:46:13: warning: ‘void EmptyDictionary_ProviderConfiguration(EnchantProvider*, const char*)’ defined but not used [-Wunused-function] 46 | static void EmptyDictionary_ProviderConfiguration (EnchantProvider * me, const char *) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ./EnchantDictionaryTestFixture.h:25: ./EnchantBrokerTestFixture.h:83:1: warning: ‘char** MockEnGbProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 83 | MockEnGbProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:71:1: warning: ‘char** MockEnGbAndQaaProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 71 | MockEnGbAndQaaProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:65:1: warning: ‘const char* MockProviderDescribe(EnchantProvider*)’ defined but not used [-Wunused-function] 65 | MockProviderDescribe (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:59:1: warning: ‘const char* MockProviderIdentify(EnchantProvider*)’ defined but not used [-Wunused-function] 59 | MockProviderIdentify (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:43:1: warning: ‘EnchantDict* MockEnGbAndQaaProviderRequestDictionary(EnchantProvider*, const char*)’ defined but not used [-Wunused-function] 43 | MockEnGbAndQaaProviderRequestDictionary(EnchantProvider * me, const char *tag) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from dictionary/enchant_dict_remove_tests.cpp:24: ./EnchantDictionaryTestFixture.h: In function ‘char** MockDictionarySuggest(EnchantDict*, const char*, size_t, size_t*)’: ./EnchantDictionaryTestFixture.h:63:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare] 63 | if(len == -1) { | ~~~~^~~~~ dictionary/enchant_dict_remove_tests.cpp: In function ‘int MockDictionaryCheck(EnchantDict*, const char*, size_t)’: dictionary/enchant_dict_remove_tests.cpp:31:5: warning: statement has no effect [-Wunused-value] 31 | dict; | ^~~~ ./EnchantDictionaryTestFixture.h: At global scope: ./EnchantDictionaryTestFixture.h:46:13: warning: ‘void EmptyDictionary_ProviderConfiguration(EnchantProvider*, const char*)’ defined but not used [-Wunused-function] 46 | static void EmptyDictionary_ProviderConfiguration (EnchantProvider * me, const char *) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ./EnchantDictionaryTestFixture.h:25: ./EnchantBrokerTestFixture.h:83:1: warning: ‘char** MockEnGbProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 83 | MockEnGbProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:71:1: warning: ‘char** MockEnGbAndQaaProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 71 | MockEnGbAndQaaProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:65:1: warning: ‘const char* MockProviderDescribe(EnchantProvider*)’ defined but not used [-Wunused-function] 65 | MockProviderDescribe (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:59:1: warning: ‘const char* MockProviderIdentify(EnchantProvider*)’ defined but not used [-Wunused-function] 59 | MockProviderIdentify (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:43:1: warning: ‘EnchantDict* MockEnGbAndQaaProviderRequestDictionary(EnchantProvider*, const char*)’ defined but not used [-Wunused-function] 43 | MockEnGbAndQaaProviderRequestDictionary(EnchantProvider * me, const char *tag) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from dictionary/enchant_dict_suggest_tests.cpp:27: ./EnchantDictionaryTestFixture.h: In function ‘char** MockDictionarySuggest(EnchantDict*, const char*, size_t, size_t*)’: ./EnchantDictionaryTestFixture.h:63:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare] 63 | if(len == -1) { | ~~~~^~~~~ ./EnchantDictionaryTestFixture.h: At global scope: ./EnchantDictionaryTestFixture.h:46:13: warning: ‘void EmptyDictionary_ProviderConfiguration(EnchantProvider*, const char*)’ defined but not used [-Wunused-function] 46 | static void EmptyDictionary_ProviderConfiguration (EnchantProvider * me, const char *) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ./EnchantDictionaryTestFixture.h:25: ./EnchantBrokerTestFixture.h:83:1: warning: ‘char** MockEnGbProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 83 | MockEnGbProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:71:1: warning: ‘char** MockEnGbAndQaaProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 71 | MockEnGbAndQaaProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:65:1: warning: ‘const char* MockProviderDescribe(EnchantProvider*)’ defined but not used [-Wunused-function] 65 | MockProviderDescribe (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:59:1: warning: ‘const char* MockProviderIdentify(EnchantProvider*)’ defined but not used [-Wunused-function] 59 | MockProviderIdentify (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:43:1: warning: ‘EnchantDict* MockEnGbAndQaaProviderRequestDictionary(EnchantProvider*, const char*)’ defined but not used [-Wunused-function] 43 | MockEnGbAndQaaProviderRequestDictionary(EnchantProvider * me, const char *tag) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from broker/enchant_broker_set_ordering_tests.cpp:25: ./EnchantBrokerTestFixture.h:83:1: warning: ‘char** MockEnGbProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 83 | MockEnGbProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:71:1: warning: ‘char** MockEnGbAndQaaProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 71 | MockEnGbAndQaaProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:65:1: warning: ‘const char* MockProviderDescribe(EnchantProvider*)’ defined but not used [-Wunused-function] 65 | MockProviderDescribe (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:59:1: warning: ‘const char* MockProviderIdentify(EnchantProvider*)’ defined but not used [-Wunused-function] 59 | MockProviderIdentify (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ In file included from pwl/enchant_pwl_tests.cpp:28: ./EnchantDictionaryTestFixture.h: In function ‘char** MockDictionarySuggest(EnchantDict*, const char*, size_t, size_t*)’: ./EnchantDictionaryTestFixture.h:63:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare] 63 | if(len == -1) { | ~~~~^~~~~ In file included from ./EnchantDictionaryTestFixture.h:25: ./EnchantBrokerTestFixture.h: At global scope: ./EnchantBrokerTestFixture.h:83:1: warning: ‘char** MockEnGbProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 83 | MockEnGbProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:71:1: warning: ‘char** MockEnGbAndQaaProviderListDictionaries(EnchantProvider*, size_t*)’ defined but not used [-Wunused-function] 71 | MockEnGbAndQaaProviderListDictionaries (EnchantProvider *, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:65:1: warning: ‘const char* MockProviderDescribe(EnchantProvider*)’ defined but not used [-Wunused-function] 65 | MockProviderDescribe (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:59:1: warning: ‘const char* MockProviderIdentify(EnchantProvider*)’ defined but not used [-Wunused-function] 59 | MockProviderIdentify (EnchantProvider *) | ^~~~~~~~~~~~~~~~~~~~ ./EnchantBrokerTestFixture.h:43:1: warning: ‘EnchantDict* MockEnGbAndQaaProviderRequestDictionary(EnchantProvider*, const char*)’ defined but not used [-Wunused-function] 43 | MockEnGbAndQaaProviderRequestDictionary(EnchantProvider * me, const char *tag) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/bin/ld: /tmp/cccP9a9T.ltrans0.ltrans.o: in function `EnchantBrokerTestFixture::RequestPersonalDictionary()': /home/tkloczko/rpmbuild/BUILD/enchant-2.7.0/tests/./EnchantTestFixture.h:103:(.text._ZN24EnchantBrokerTestFixture25RequestPersonalDictionaryEv+0x4f): warning: the use of `tempnam' is dangerous, better use `mkstemp' ```
rrthomas commented 6 months ago

I think I have a solution for the problem with g_strfreev thanks to one of the Vala maintainers.

I looked through the rest of the warnings. Those for unused variables are mostly caused by Vala generating C variables it doesn't use. There are quite a few in the test code, which is not a high priority for me to fix, though I should probably be building that code with warnings on; thanks! (Also, these warnings will not be new in this release.) Unused functions in test code just reflect that the same C++ headers are reused in multiple compilation units.

In short, I don't see anything here that really needs fixing other than the g_strfreev binding.

rrthomas commented 6 months ago

Fix in https://github.com/rrthomas/enchant master. Thanks for the report. The fix will be in the next release, but I don't think it warrants a release in itself as there's no real problem here.

I have tested the fix with the compiler warning flags you gave.