diff options
author | sleske <sleske@ffa7fe5e-494d-0410-b361-a75ebd5db220> | 2013-08-22 21:58:34 +0000 |
---|---|---|
committer | sleske <sleske@ffa7fe5e-494d-0410-b361-a75ebd5db220> | 2013-08-22 21:58:34 +0000 |
commit | 09c3f1734a5219b7bb059c10751287c081ef0b30 (patch) | |
tree | 798ef42b227e592d0bd4ebae75abdcc19fedc419 | |
parent | 995a2e17e6f3f02ddfb56c896fdcdaf6aba49dcd (diff) | |
download | navit-svn-09c3f1734a5219b7bb059c10751287c081ef0b30.tar.gz |
Fix:core:Build with -Wstrict-prototypes, fix warnings.
git-svn-id: http://svn.code.sf.net/p/navit/code/trunk/navit@5589 ffa7fe5e-494d-0410-b361-a75ebd5db220
-rwxr-xr-x | CMakeLists.txt | 4 | ||||
-rw-r--r-- | navit/callback.c | 28 |
2 files changed, 22 insertions, 10 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 739f7060..61e279ee 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -266,6 +266,8 @@ if (QT_FOUND) endif(QT_FOUND) if(GTK2_FOUND) + # Include gtk.h with "SYSTEM" to avoid GCC compiler warning for gtkitemfactory.h. + include_directories(SYSTEM ${GTK2_GTK_INCLUDE_DIR}) include_directories(${GTK2_INCLUDE_DIRS}) set(HAVE_GTK2 1) set_with_reason(gui/gtk "GTK libs found" TRUE ${GTK2_LIBRARIES}) @@ -642,7 +644,7 @@ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_BINARY # -Wno-sign-compare: We currently just use int almost everywhere. # Unclear if it's really worth correcting. if(CMAKE_COMPILER_IS_GNUCC OR CCMAKE_COMPILER_IS_GNUCXX) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wcast-align -Wpointer-arith -Wextra -Wno-missing-field-initializers -Wno-unused-parameter -Wno-sign-compare -Wmissing-prototypes ") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wcast-align -Wpointer-arith -Wextra -Wno-missing-field-initializers -Wno-unused-parameter -Wno-sign-compare -Wmissing-prototypes -Wstrict-prototypes ") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wcast-align -Wpointer-arith -Wextra -Wno-missing-field-initializers -Wno-unused-parameter -Wno-sign-compare ") endif() diff --git a/navit/callback.c b/navit/callback.c index 2bdcd9a5..b5d0ed3c 100644 --- a/navit/callback.c +++ b/navit/callback.c @@ -24,7 +24,9 @@ #include "callback.h" struct callback { - void (*func)(); + /* func has variable number of arguments, not (void), + * but we must declare something... */ + void (*func)(void); int pcount; enum attr_type type; void *p[0]; @@ -157,28 +159,36 @@ callback_call(struct callback *cb, int pcount, void **p) pf[i+cb->pcount]=p[i]; switch (cb->pcount+pcount) { case 8: - cb->func(pf[0],pf[1],pf[2],pf[3],pf[4],pf[5],pf[6],pf[7]); + ((int (*)(void*,void*,void*,void*,void*,void*,void*,void*))cb->func)( + pf[0],pf[1],pf[2],pf[3],pf[4],pf[5],pf[6],pf[7]); break; case 7: - cb->func(pf[0],pf[1],pf[2],pf[3],pf[4],pf[5],pf[6]); + ((int (*)(void*,void*,void*,void*,void*,void*,void*))cb->func)( + pf[0],pf[1],pf[2],pf[3],pf[4],pf[5],pf[6]); break; case 6: - cb->func(pf[0],pf[1],pf[2],pf[3],pf[4],pf[5]); + ((int (*)(void*,void*,void*,void*,void*,void*))cb->func)( + pf[0],pf[1],pf[2],pf[3],pf[4],pf[5]); break; case 5: - cb->func(pf[0],pf[1],pf[2],pf[3],pf[4]); + ((int (*)(void*,void*,void*,void*,void*))cb->func)( + pf[0],pf[1],pf[2],pf[3],pf[4]); break; case 4: - cb->func(pf[0],pf[1],pf[2],pf[3]); + ((int (*)(void*,void*,void*,void*))cb->func)( + pf[0],pf[1],pf[2],pf[3]); break; case 3: - cb->func(pf[0],pf[1],pf[2]); + ((int (*)(void*,void*,void*))cb->func)( + pf[0],pf[1],pf[2]); break; case 2: - cb->func(pf[0],pf[1]); + ((int (*)(void*,void*))cb->func)( + pf[0],pf[1]); break; case 1: - cb->func(pf[0]); + ((int (*)(void*))cb->func)( + pf[0]); break; case 0: cb->func(); |