From: David B. <dbr...@us...> - 2009-10-18 03:50:49
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Main OpenOCD repository". The branch, master has been updated via d0e1b14ef6a4465eaad750d2d4def1ad8e76f6fc (commit) via c758cfbd6c14f153b49a70d2b0b466110b2e4404 (commit) from 7db3d860386591599bb62e908e9b32ce25cf3168 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit d0e1b14ef6a4465eaad750d2d4def1ad8e76f6fc Author: David Brownell <dbr...@us...> Date: Sat Oct 17 17:50:23 2009 -0700 Ignore two more generated files On Windows the name is "bin2char.exe". All operating systems now have "xscale_handler.h". diff --git a/.gitignore b/.gitignore index f092697..ec8c9a7 100644 --- a/.gitignore +++ b/.gitignore @@ -7,8 +7,13 @@ *.lo *.la *.in + startup_tcl.c +xscale_debug.h + bin2char +bin2char.exe + doc/openocd.aux doc/openocd.cp doc/openocd.cps commit c758cfbd6c14f153b49a70d2b0b466110b2e4404 Author: Redirect 'Slash' NIL <red...@gm...> Date: Sat Oct 17 17:47:52 2009 -0700 More MinGW C99 printf compliance Passing "--std=gun99" is unfortunately not sufficient to make current MinGW compilers conform with respect to checking printf format strings. (The C runtime seems not to have problems.) Fix by using a "gnu_printf" format specifier not "printf". diff --git a/src/helper/command.h b/src/helper/command.h index 2b9f1a1..c574efd 100644 --- a/src/helper/command.h +++ b/src/helper/command.h @@ -35,6 +35,14 @@ #include "jim.h" #endif +/* To achieve C99 printf compatibility in MinGW, gnu_printf should */ +/* be used for __attribute__((format( ... ))) */ +#ifdef IS_MINGW +#define PRINTF_ATTRIBUTE_FORMAT gnu_printf +#else +#define PRINTF_ATTRIBUTE_FORMAT printf +#endif + enum command_mode { COMMAND_EXEC, @@ -85,12 +93,12 @@ extern command_context_t* command_init(void); extern int command_done(command_context_t *context); extern void command_print(command_context_t *context, const char *format, ...) - __attribute__ ((format (printf, 2, 3))); + __attribute__ ((format (PRINTF_ATTRIBUTE_FORMAT, 2, 3))); extern void command_print_sameline(command_context_t *context, const char *format, ...) - __attribute__ ((format (printf, 2, 3))); + __attribute__ ((format (PRINTF_ATTRIBUTE_FORMAT, 2, 3))); extern int command_run_line(command_context_t *context, char *line); extern int command_run_linef(command_context_t *context, const char *format, ...) - __attribute__ ((format (printf, 2, 3))); + __attribute__ ((format (PRINTF_ATTRIBUTE_FORMAT, 2, 3))); extern void command_output_text(command_context_t *context, const char *data); extern void process_jim_events(void); diff --git a/src/helper/log.h b/src/helper/log.h index 7fc5a88..8f6ac77 100644 --- a/src/helper/log.h +++ b/src/helper/log.h @@ -28,6 +28,14 @@ #include "command.h" +/* To achieve C99 printf compatibility in MinGW, gnu_printf should */ +/* be used for __attribute__((format( ... ))) */ +#ifdef IS_MINGW +#define PRINTF_ATTRIBUTE_FORMAT gnu_printf +#else +#define PRINTF_ATTRIBUTE_FORMAT printf +#endif + /* logging priorities * LOG_LVL_SILENT - turn off all output. In lieu of try + catch this can be used as a * feeble ersatz. @@ -52,10 +60,10 @@ enum log_levels extern void log_printf(enum log_levels level, const char *file, int line, const char *function, const char *format, ...) -__attribute__ ((format (printf, 5, 6))); +__attribute__ ((format (PRINTF_ATTRIBUTE_FORMAT, 5, 6))); extern void log_printf_lf(enum log_levels level, const char *file, int line, const char *function, const char *format, ...) -__attribute__ ((format (printf, 5, 6))); +__attribute__ ((format (PRINTF_ATTRIBUTE_FORMAT, 5, 6))); extern int log_register_commands(struct command_context_s *cmd_ctx); extern int log_init(struct command_context_s *cmd_ctx); extern int set_log_output(struct command_context_s *cmd_ctx, FILE *output); diff --git a/src/target/arm11.h b/src/target/arm11.h index 61c5f7f..9afff23 100644 --- a/src/target/arm11.h +++ b/src/target/arm11.h @@ -33,8 +33,9 @@ type * variable = calloc(1, sizeof(type) * items) /* For MinGW use 'I' prefix to print size_t (instead of 'z') */ +/* Except if __USE_MINGW_ANSI_STDIO is defined with MinGW */ -#ifndef __MSVCRT__ +#if (!defined(__MSVCRT__) || defined(__USE_MINGW_ANSI_STDIO)) #define ZU "%zu" #else #define ZU "%Iu" ----------------------------------------------------------------------- Summary of changes: .gitignore | 5 +++++ src/helper/command.h | 14 +++++++++++--- src/helper/log.h | 12 ++++++++++-- src/target/arm11.h | 3 ++- 4 files changed, 28 insertions(+), 6 deletions(-) hooks/post-receive -- Main OpenOCD repository |