c-format.c (print_char_table): Allow 'I' flag on floating point decimal formats.
* c-format.c (print_char_table): Allow 'I' flag on floating point decimal formats. testsuite: * gcc.dg/format/ext-1.c: Allow 'I' flag on floating point decimal formats. From-SVN: r74860
This commit is contained in:
parent
0f901c4c23
commit
be7ac47149
@ -1,3 +1,8 @@
|
||||
2003-12-19 Joseph S. Myers <jsm@polyomino.org.uk>
|
||||
|
||||
* c-format.c (print_char_table): Allow 'I' flag on floating point
|
||||
decimal formats.
|
||||
|
||||
2003-12-19 Stuart Hastings <stuart@apple.com>
|
||||
* gcc/config/i386/i386.c (ix86_expand_call, x86_output_mi_thunk):
|
||||
Trivial fixes for i386.c on Darwin/x86.
|
||||
|
@ -755,23 +755,23 @@ static const format_flag_pair strfmon_flag_pairs[] =
|
||||
static const format_char_info print_char_table[] =
|
||||
{
|
||||
/* C89 conversion specifiers. */
|
||||
{ "di", 0, STD_C89, { T89_I, T99_SC, T89_S, T89_L, T9L_LL, TEX_LL, T99_SST, T99_PD, T99_IM }, "-wp0 +'I", "i" },
|
||||
{ "oxX", 0, STD_C89, { T89_UI, T99_UC, T89_US, T89_UL, T9L_ULL, TEX_ULL, T99_ST, T99_UPD, T99_UIM }, "-wp0#", "i" },
|
||||
{ "u", 0, STD_C89, { T89_UI, T99_UC, T89_US, T89_UL, T9L_ULL, TEX_ULL, T99_ST, T99_UPD, T99_UIM }, "-wp0'I", "i" },
|
||||
{ "fgG", 0, STD_C89, { T89_D, BADLEN, BADLEN, T99_D, BADLEN, T89_LD, BADLEN, BADLEN, BADLEN }, "-wp0 +#'", "" },
|
||||
{ "eE", 0, STD_C89, { T89_D, BADLEN, BADLEN, T99_D, BADLEN, T89_LD, BADLEN, BADLEN, BADLEN }, "-wp0 +#", "" },
|
||||
{ "c", 0, STD_C89, { T89_I, BADLEN, BADLEN, T94_WI, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "-w", "" },
|
||||
{ "s", 1, STD_C89, { T89_C, BADLEN, BADLEN, T94_W, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "-wp", "cR" },
|
||||
{ "p", 1, STD_C89, { T89_V, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "-w", "c" },
|
||||
{ "n", 1, STD_C89, { T89_I, T99_SC, T89_S, T89_L, T9L_LL, BADLEN, T99_SST, T99_PD, T99_IM }, "", "W" },
|
||||
{ "di", 0, STD_C89, { T89_I, T99_SC, T89_S, T89_L, T9L_LL, TEX_LL, T99_SST, T99_PD, T99_IM }, "-wp0 +'I", "i" },
|
||||
{ "oxX", 0, STD_C89, { T89_UI, T99_UC, T89_US, T89_UL, T9L_ULL, TEX_ULL, T99_ST, T99_UPD, T99_UIM }, "-wp0#", "i" },
|
||||
{ "u", 0, STD_C89, { T89_UI, T99_UC, T89_US, T89_UL, T9L_ULL, TEX_ULL, T99_ST, T99_UPD, T99_UIM }, "-wp0'I", "i" },
|
||||
{ "fgG", 0, STD_C89, { T89_D, BADLEN, BADLEN, T99_D, BADLEN, T89_LD, BADLEN, BADLEN, BADLEN }, "-wp0 +#'I", "" },
|
||||
{ "eE", 0, STD_C89, { T89_D, BADLEN, BADLEN, T99_D, BADLEN, T89_LD, BADLEN, BADLEN, BADLEN }, "-wp0 +#I", "" },
|
||||
{ "c", 0, STD_C89, { T89_I, BADLEN, BADLEN, T94_WI, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "-w", "" },
|
||||
{ "s", 1, STD_C89, { T89_C, BADLEN, BADLEN, T94_W, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "-wp", "cR" },
|
||||
{ "p", 1, STD_C89, { T89_V, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "-w", "c" },
|
||||
{ "n", 1, STD_C89, { T89_I, T99_SC, T89_S, T89_L, T9L_LL, BADLEN, T99_SST, T99_PD, T99_IM }, "", "W" },
|
||||
/* C99 conversion specifiers. */
|
||||
{ "F", 0, STD_C99, { T99_D, BADLEN, BADLEN, T99_D, BADLEN, T99_LD, BADLEN, BADLEN, BADLEN }, "-wp0 +#'", "" },
|
||||
{ "aA", 0, STD_C99, { T99_D, BADLEN, BADLEN, T99_D, BADLEN, T99_LD, BADLEN, BADLEN, BADLEN }, "-wp0 +#", "" },
|
||||
{ "F", 0, STD_C99, { T99_D, BADLEN, BADLEN, T99_D, BADLEN, T99_LD, BADLEN, BADLEN, BADLEN }, "-wp0 +#'I", "" },
|
||||
{ "aA", 0, STD_C99, { T99_D, BADLEN, BADLEN, T99_D, BADLEN, T99_LD, BADLEN, BADLEN, BADLEN }, "-wp0 +#", "" },
|
||||
/* X/Open conversion specifiers. */
|
||||
{ "C", 0, STD_EXT, { TEX_WI, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "-w", "" },
|
||||
{ "S", 1, STD_EXT, { TEX_W, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "-wp", "R" },
|
||||
{ "C", 0, STD_EXT, { TEX_WI, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "-w", "" },
|
||||
{ "S", 1, STD_EXT, { TEX_W, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "-wp", "R" },
|
||||
/* GNU conversion specifiers. */
|
||||
{ "m", 0, STD_EXT, { T89_V, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "-wp", "" },
|
||||
{ "m", 0, STD_EXT, { T89_V, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "-wp", "" },
|
||||
{ NULL, 0, 0, NOLENGTHS, NULL, NULL }
|
||||
};
|
||||
|
||||
|
@ -1,3 +1,8 @@
|
||||
2003-12-19 Joseph S. Myers <jsm@polyomino.org.uk>
|
||||
|
||||
* gcc.dg/format/ext-1.c: Allow 'I' flag on floating point decimal
|
||||
formats.
|
||||
|
||||
2003-12-19 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
PR c++/12795
|
||||
|
@ -92,7 +92,7 @@ foo (quad_t q, u_quad_t uq, quad_t *qn, size_t z, size_t *zn, long long int ll,
|
||||
*/
|
||||
printf ("%*2$.*1$m", i, i);
|
||||
printf ("%1$*2$.*1$m", i, i); /* { dg-warning "no argument" "printf %1\$m" } */
|
||||
/* As an extension, glibc includes the "I" flag for decimal integer
|
||||
/* As an extension, glibc includes the "I" flag for decimal
|
||||
formats, to output using the locale's digits (e.g. in Arabic).
|
||||
In GCC, we require this to be in the standard place for flags, though
|
||||
glibc allows it also after width or precision.
|
||||
@ -102,12 +102,12 @@ foo (quad_t q, u_quad_t uq, quad_t *qn, size_t z, size_t *zn, long long int ll,
|
||||
printf ("%Ix", u); /* { dg-warning "flag" "bad use of I flag" } */
|
||||
printf ("%IX", u); /* { dg-warning "flag" "bad use of I flag" } */
|
||||
printf ("%In", n); /* { dg-warning "flag" "bad use of I flag" } */
|
||||
printf ("%If", d); /* { dg-warning "flag" "bad use of I flag" } */
|
||||
printf ("%IF", d); /* { dg-warning "flag" "bad use of I flag" } */
|
||||
printf ("%Ie", d); /* { dg-warning "flag" "bad use of I flag" } */
|
||||
printf ("%IE", d); /* { dg-warning "flag" "bad use of I flag" } */
|
||||
printf ("%Ig", d); /* { dg-warning "flag" "bad use of I flag" } */
|
||||
printf ("%IG", d); /* { dg-warning "flag" "bad use of I flag" } */
|
||||
printf ("%If", d);
|
||||
printf ("%IF", d);
|
||||
printf ("%Ie", d);
|
||||
printf ("%IE", d);
|
||||
printf ("%Ig", d);
|
||||
printf ("%IG", d);
|
||||
printf ("%Ia", d); /* { dg-warning "flag" "bad use of I flag" } */
|
||||
printf ("%IA", d); /* { dg-warning "flag" "bad use of I flag" } */
|
||||
printf ("%Ic", i); /* { dg-warning "flag" "bad use of I flag" } */
|
||||
|
Loading…
Reference in New Issue
Block a user