diagnostic.h (output_host_wide_integer): Declare.
* diagnostic.h (output_host_wide_integer): Declare. * diagnostic.c (output_long_long_decicaml): New function. (output_host_wide_integer): Likewise. (output_format): Use them. Handle "%ll" and "%w". From-SVN: r68323
This commit is contained in:
parent
ad667abe54
commit
0e9e3a8b78
|
@ -1,3 +1,10 @@
|
|||
2003-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
|
||||
|
||||
* diagnostic.h (output_host_wide_integer): Declare.
|
||||
* diagnostic.c (output_long_long_decicaml): New function.
|
||||
(output_host_wide_integer): Likewise.
|
||||
(output_format): Use them. Handle "%ll" and "%w".
|
||||
|
||||
2003-06-21 Jason Thorpe <thorpej@wasabisystems.com>
|
||||
|
||||
* config.gcc (*-*-netbsd*): Add t-libgcc-pic to tmake_file.
|
||||
|
|
|
@ -334,6 +334,18 @@ output_long_hexadecimal (output_buffer *buffer, long unsigned int i)
|
|||
output_formatted_scalar (buffer, "%lx", i);
|
||||
}
|
||||
|
||||
static inline void
|
||||
output_long_long_decimal (output_buffer *buffer, long long int i)
|
||||
{
|
||||
output_formatted_scalar (buffer, "%lld", i);
|
||||
}
|
||||
|
||||
void
|
||||
output_host_wide_integer (output_buffer *buffer, HOST_WIDE_INT i)
|
||||
{
|
||||
output_formatted_scalar (buffer, HOST_WIDE_INT_PRINT_DEC, i);
|
||||
}
|
||||
|
||||
static inline void
|
||||
output_pointer (output_buffer *buffer, void *p)
|
||||
{
|
||||
|
@ -457,6 +469,8 @@ output_buffer_to_stream (output_buffer *buffer)
|
|||
%o: unsigned integer in base eight.
|
||||
%x: unsigned integer in base sixteen.
|
||||
%ld, %li, %lo, %lu, %lx: long versions of the above.
|
||||
%ll: long long int.
|
||||
%w: and integer of type HOST_WIDE_INT.
|
||||
%c: character.
|
||||
%s: string.
|
||||
%p: pointer.
|
||||
|
@ -542,6 +556,15 @@ output_format (output_buffer *buffer, text_info *text)
|
|||
(buffer, va_arg (*text->args_ptr, unsigned int));
|
||||
break;
|
||||
|
||||
case 'l':
|
||||
if (long_integer)
|
||||
output_long_long_decimal
|
||||
(buffer, va_arg (*text->args_ptr, long long));
|
||||
else
|
||||
/* Sould not happen. */
|
||||
abort();
|
||||
break;
|
||||
|
||||
case 'm':
|
||||
output_add_string (buffer, xstrerror (text->err_no));
|
||||
break;
|
||||
|
@ -575,6 +598,11 @@ output_format (output_buffer *buffer, text_info *text)
|
|||
}
|
||||
break;
|
||||
|
||||
case 'w':
|
||||
output_host_wide_integer
|
||||
(buffer, va_arg (*text->args_ptr, HOST_WIDE_INT));
|
||||
break;
|
||||
|
||||
default:
|
||||
if (!buffer->format_decoder
|
||||
|| !(*buffer->format_decoder) (buffer, text))
|
||||
|
|
|
@ -315,6 +315,7 @@ extern int output_space_left (const output_buffer *);
|
|||
extern void output_append (output_buffer *, const char *, const char *);
|
||||
extern void output_add_character (output_buffer *, int);
|
||||
extern void output_decimal (output_buffer *, int);
|
||||
extern void output_host_wide_integer (output_buffer *, HOST_WIDE_INT);
|
||||
extern void output_add_string (output_buffer *, const char *);
|
||||
extern void output_add_identifier (output_buffer *, tree);
|
||||
extern const char *output_finalize_message (output_buffer *);
|
||||
|
|
Loading…
Reference in New Issue