c-format.c (format_types_orig): Disallow '*' width/precision in asm_fprintf format checks.

gcc:
	* c-format.c (format_types_orig): Disallow '*' width/precision in
	asm_fprintf format checks.

testsuite:
	* gcc.dg/format/asm_fprintf-1.c: Update width/precision checks.

From-SVN: r67897
This commit is contained in:
Kaveh R. Ghazi 2003-06-13 14:08:36 +00:00 committed by Kaveh Ghazi
parent 281b173200
commit 3af0187c28
4 changed files with 13 additions and 6 deletions

View File

@ -1,3 +1,8 @@
2003-06-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* c-format.c (format_types_orig): Disallow '*' width/precision in
asm_fprintf format checks.
2003-06-13 Ulrich Weigand <uweigand@de.ibm.com>
* config/s390/s390.c (s390_va_arg): Fix alignment when retrieving

View File

@ -831,7 +831,7 @@ static const format_kind_info format_types_orig[] =
asm_fprintf_flag_specs, asm_fprintf_flag_pairs,
FMT_FLAG_ARG_CONVERT|FMT_FLAG_EMPTY_PREC_OK,
'w', 0, 'p', 0, 'L',
&integer_type_node, &integer_type_node
NULL, NULL
},
{ "scanf", scanf_length_specs, scan_char_table, "*'I", NULL,
scanf_flag_specs, scanf_flag_pairs,

View File

@ -1,3 +1,7 @@
2003-06-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* gcc.dg/format/asm_fprintf-1.c: Update width/precision checks.
2003-06-12 Mark Mitchell <mark@codesourcery.com>
* lib/gcc-dg.exp (dg-require-dll): New function.

View File

@ -34,9 +34,6 @@ foo (int i, int i1, int i2, unsigned int u, double d, char *s, void *p,
asm_fprintf ("%.7d\n", i);
asm_fprintf ("%+9.4d\n", i);
asm_fprintf ("%.3ld\n", l);
asm_fprintf ("%*d\n", i1, i);
asm_fprintf ("%.*d\n", i2, i);
asm_fprintf ("%*.*ld\n", i1, i2, l);
asm_fprintf ("%d %lu\n", i, ul);
/* Extensions provided in asm_fprintf. */
@ -58,8 +55,9 @@ foo (int i, int i1, int i2, unsigned int u, double d, char *s, void *p,
asm_fprintf ("%d", l); /* { dg-warning "format" "bad argument types" } */
asm_fprintf ("%wd", l); /* { dg-warning "format" "bad argument types" } */
asm_fprintf ("%d", ll); /* { dg-warning "format" "bad argument types" } */
asm_fprintf ("%*.*d", l, i2, i); /* { dg-warning "field" "bad * argument types" } */
asm_fprintf ("%*.*d", i1, l, i); /* { dg-warning "field" "bad * argument types" } */
asm_fprintf ("%*d\n", i1, i); /* { dg-warning "format" "bad * argument types" } */
asm_fprintf ("%.*d\n", i2, i); /* { dg-warning "format" "bad * argument types" } */
asm_fprintf ("%*.*ld\n", i1, i2, l); /* { dg-warning "format" "bad * argument types" } */
asm_fprintf ("%ld", i); /* { dg-warning "format" "bad argument types" } */
asm_fprintf ("%s", n); /* { dg-warning "format" "bad argument types" } */