diff --git a/configure.in b/configure.in index 2c2f3cde1..007ac1423 100644 --- a/configure.in +++ b/configure.in @@ -27,11 +27,9 @@ is_cygwin=no is_mingw=no is_win32=no - AC_ARG_ENABLE(gccwarnings, - AS_HELP_STRING([--enable-gccwarnings], [Enable compiler warnings, default yes]), - [gcc_warnings=$enablevalue], [gcc_warnings=yes]) - + AS_HELP_STRING([--enable-gccwarnings], [Enable compiler warnings, default no]), + [gcc_warnings=$enableval], [gcc_warnings=no]) AC_ARG_ENABLE(parport, AS_HELP_STRING([--enable-parport], [Enable building the pc parallel port driver]), @@ -297,24 +295,27 @@ AC_LANG_C AC_PROG_CC AC_PROG_RANLIB +# set default gcc warnings +GCC_WARNINGS="-Wall -Wstrict-prototypes" + +# overide default gcc cflags +if test $gcc_warnings = yes; then + CFLAGS="$CFLAGS $GCC_WARNINGS" +fi + # Setup for compiling build tools AC_MSG_CHECKING([for a C compiler for build tools]) if test $cross_compiling = yes; then AC_CHECK_PROGS(CC_FOR_BUILD, gcc cc) - CFLAGS_FOR_BUILD="-g -O2" + CFLAGS_FOR_BUILD="-g -O2 $GCC_WARNINGS" else CC_FOR_BUILD=$CC - CFLAGS_FOR_BUILD="$CFLAGS $GCC_WARNINGS" -fi - -if test $gcc_warnings = yes; then - CFLAGS_FOR_BUILD="$CFLAGS_FOR_BUILD -Wall -Wmissing-prototypes -Wstrict-prototypes" + CFLAGS_FOR_BUILD=$CFLAGS fi AC_MSG_RESULT([$CC_FOR_BUILD]) AC_SUBST(CC_FOR_BUILD) AC_SUBST(CFLAGS_FOR_BUILD) -AC_MSG_NOTICE([CFLAGS_FOR_BUILD = $CFLAGS_FOR_BUILD]) AC_MSG_CHECKING([for suffix of executable build tools]) if test $cross_compiling = yes; then diff --git a/doc/openocd.texi b/doc/openocd.texi index de996eb9b..ef921536e 100644 --- a/doc/openocd.texi +++ b/doc/openocd.texi @@ -193,6 +193,13 @@ absolute path containing no spaces. Linux users should copy the various parts of the D2XX package to the appropriate locations, i.e. /usr/include, /usr/lib. +Miscellaneous configure options + +@itemize @bullet +@item +@option{--enable-gccwarnings} - enable extra gcc warnings during build +@end itemize + @node Running @chapter Running @cindex running OpenOCD diff --git a/src/helper/jim.c b/src/helper/jim.c index 847b855e9..1a35b32b0 100644 --- a/src/helper/jim.c +++ b/src/helper/jim.c @@ -7760,7 +7760,7 @@ void *dlsym(void *handle, const char *symbol) return GetProcAddress((HMODULE)handle, symbol); } static char win32_dlerror_string[121]; -const char *dlerror() +const char *dlerror(void) { FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM, NULL, GetLastError(), LANG_NEUTRAL, win32_dlerror_string, 120, NULL); diff --git a/src/jtag/amt_jtagaccel.c b/src/jtag/amt_jtagaccel.c index d29d092f8..163cd0afe 100644 --- a/src/jtag/amt_jtagaccel.c +++ b/src/jtag/amt_jtagaccel.c @@ -402,7 +402,7 @@ int amt_jtagaccel_execute_queue(void) } #if PARPORT_USE_GIVEIO == 1 -int amt_jtagaccel_get_giveio_access() +int amt_jtagaccel_get_giveio_access(void) { HANDLE h; OSVERSIONINFO version; diff --git a/src/jtag/jlink.c b/src/jtag/jlink.c index f6da6199b..b20efcabf 100644 --- a/src/jtag/jlink.c +++ b/src/jtag/jlink.c @@ -95,8 +95,8 @@ void jlink_simple_command(u8 command); int jlink_get_status(void); /* J-Link tap buffer functions */ -void jlink_tap_init(); -int jlink_tap_execute(); +void jlink_tap_init(void); +int jlink_tap_execute(void); void jlink_tap_ensure_space(int scans, int bits); void jlink_tap_append_step(int tms, int tdi); void jlink_tap_append_scan(int length, u8 *buffer, scan_command_t *command); @@ -568,7 +568,7 @@ static pending_scan_result_t pending_scan_results_buffer[MAX_PENDING_SCAN_RESULT static int last_tms; -void jlink_tap_init() +void jlink_tap_init(void) { tap_length = 0; pending_scan_results_length = 0; @@ -640,7 +640,7 @@ void jlink_tap_append_scan(int length, u8 *buffer, scan_command_t *command) /* Pad and send a tap sequence to the device, and receive the answer. * For the purpose of padding we assume that we are in idle or pause state. */ -int jlink_tap_execute() +int jlink_tap_execute(void) { int byte_length; int tms_offset; diff --git a/src/jtag/jtag.c b/src/jtag/jtag.c index d34cec5a2..164de0c0d 100644 --- a/src/jtag/jtag.c +++ b/src/jtag/jtag.c @@ -1316,7 +1316,7 @@ void jtag_sleep(u32 us) /* Try to examine chain layout according to IEEE 1149.1 ยง12 */ -int jtag_examine_chain() +int jtag_examine_chain(void) { jtag_device_t *device = jtag_devices; scan_field_t field; diff --git a/src/jtag/parport.c b/src/jtag/parport.c index e99349742..19a200bf4 100644 --- a/src/jtag/parport.c +++ b/src/jtag/parport.c @@ -274,7 +274,7 @@ int parport_register_commands(struct command_context_s *cmd_ctx) } #if PARPORT_USE_GIVEIO == 1 -int parport_get_giveio_access() +int parport_get_giveio_access(void) { HANDLE h; OSVERSIONINFO version; diff --git a/src/openocd.c b/src/openocd.c index 67d890ecd..9abe3b356 100644 --- a/src/openocd.c +++ b/src/openocd.c @@ -118,7 +118,7 @@ int handle_init_command(struct command_context_s *cmd_ctx, char *cmd, char **arg if (jtag_init(cmd_ctx) == ERROR_OK) { LOG_DEBUG("jtag init complete"); - if (target_examine(cmd_ctx) == ERROR_OK) + if (target_examine() == ERROR_OK) { LOG_DEBUG("jtag examine complete"); } diff --git a/src/target/mips_m4k.c b/src/target/mips_m4k.c index 4cefbf924..7cca55de6 100644 --- a/src/target/mips_m4k.c +++ b/src/target/mips_m4k.c @@ -43,10 +43,10 @@ int mips_m4k_read_memory(struct target_s *target, u32 address, u32 size, u32 cou int mips_m4k_write_memory(struct target_s *target, u32 address, u32 size, u32 count, u8 *buffer); int mips_m4k_register_commands(struct command_context_s *cmd_ctx); int mips_m4k_init_target(struct command_context_s *cmd_ctx, struct target_s *target); -int mips_m4k_quit(); +int mips_m4k_quit(void); int mips_m4k_target_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc, struct target_s *target); -int mips_m4k_examine(struct command_context_s *cmd_ctx, struct target_s *target); +int mips_m4k_examine(struct target_s *target); int mips_m4k_assert_reset(target_t *target); int mips_m4k_deassert_reset(target_t *target); @@ -618,7 +618,7 @@ int mips_m4k_target_command(struct command_context_s *cmd_ctx, char *cmd, char * return ERROR_OK; } -int mips_m4k_examine(struct command_context_s *cmd_ctx, struct target_s *target) +int mips_m4k_examine(struct target_s *target) { int retval; mips32_common_t *mips32 = target->arch_info; diff --git a/src/target/target.c b/src/target/target.c index 37e1b3695..efa00edf8 100644 --- a/src/target/target.c +++ b/src/target/target.c @@ -383,7 +383,7 @@ static int default_examine(struct target_s *target) * * XScale */ -int target_examine(struct command_context_s *cmd_ctx) +int target_examine(void) { int retval = ERROR_OK; target_t *target = targets; diff --git a/src/target/target.h b/src/target/target.h index 2551ede7b..bf009ea43 100644 --- a/src/target/target.h +++ b/src/target/target.h @@ -250,7 +250,7 @@ typedef struct target_timer_callback_s extern int target_register_commands(struct command_context_s *cmd_ctx); extern int target_register_user_commands(struct command_context_s *cmd_ctx); extern int target_init(struct command_context_s *cmd_ctx); -extern int target_examine(); +extern int target_examine(void); extern int handle_target(void *priv); extern int target_process_reset(struct command_context_s *cmd_ctx, enum target_reset_mode reset_mode);