mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-09 04:21:49 +08:00
2008-04-23 Andrew Stubbs <andrew.stubbs@st.com>
* printcmd.c: Define USE_PRINTF_I64 and PRINTF_HAS_LONG_LONG on MinGW. (printf_command): Convert %lld to %I64d when USE_PRINTF_I64 set.
This commit is contained in:
parent
fdc5970995
commit
09d71d234a
@ -1,3 +1,8 @@
|
|||||||
|
2008-04-23 Andrew Stubbs <andrew.stubbs@st.com>
|
||||||
|
|
||||||
|
* printcmd.c: Define USE_PRINTF_I64 and PRINTF_HAS_LONG_LONG on MinGW.
|
||||||
|
(printf_command): Convert %lld to %I64d when USE_PRINTF_I64 set.
|
||||||
|
|
||||||
2008-04-23 Paolo Bonzini <bonzini@gnu.org>
|
2008-04-23 Paolo Bonzini <bonzini@gnu.org>
|
||||||
|
|
||||||
* acinclude.m4: Add override.m4.
|
* acinclude.m4: Add override.m4.
|
||||||
|
@ -47,6 +47,13 @@
|
|||||||
#include "tui/tui.h" /* For tui_active et.al. */
|
#include "tui/tui.h" /* For tui_active et.al. */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(__MINGW32__)
|
||||||
|
# define USE_PRINTF_I64 1
|
||||||
|
# define PRINTF_HAS_LONG_LONG
|
||||||
|
#else
|
||||||
|
# define USE_PRINTF_I64 0
|
||||||
|
#endif
|
||||||
|
|
||||||
extern int asm_demangle; /* Whether to demangle syms in asm printouts */
|
extern int asm_demangle; /* Whether to demangle syms in asm printouts */
|
||||||
extern int addressprint; /* Whether to print hex addresses in HLL " */
|
extern int addressprint; /* Whether to print hex addresses in HLL " */
|
||||||
|
|
||||||
@ -2009,8 +2016,23 @@ printf_command (char *arg, int from_tty)
|
|||||||
*f);
|
*f);
|
||||||
|
|
||||||
f++;
|
f++;
|
||||||
strncpy (current_substring, last_arg, f - last_arg);
|
|
||||||
current_substring += f - last_arg;
|
if (lcount > 1 && USE_PRINTF_I64)
|
||||||
|
{
|
||||||
|
/* Windows' printf does support long long, but not the usual way.
|
||||||
|
Convert %lld to %I64d. */
|
||||||
|
int length_before_ll = f - last_arg - 1 - lcount;
|
||||||
|
strncpy (current_substring, last_arg, length_before_ll);
|
||||||
|
strcpy (current_substring + length_before_ll, "I64");
|
||||||
|
current_substring[length_before_ll + 3] =
|
||||||
|
last_arg[length_before_ll + lcount];
|
||||||
|
current_substring += length_before_ll + 4;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
strncpy (current_substring, last_arg, f - last_arg);
|
||||||
|
current_substring += f - last_arg;
|
||||||
|
}
|
||||||
*current_substring++ = '\0';
|
*current_substring++ = '\0';
|
||||||
last_arg = f;
|
last_arg = f;
|
||||||
argclass[nargs_wanted++] = this_argclass;
|
argclass[nargs_wanted++] = this_argclass;
|
||||||
|
Loading…
Reference in New Issue
Block a user