c-format.c (format_types_orig): Disallow '*' width/precision in asm_fprintf format...
authorKaveh R. Ghazi <ghazi@caip.rutgers.edu>
Fri, 13 Jun 2003 14:08:36 +0000 (14:08 +0000)
committerKaveh Ghazi <ghazi@gcc.gnu.org>
Fri, 13 Jun 2003 14:08:36 +0000 (14:08 +0000)
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

gcc/ChangeLog
gcc/c-format.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/format/asm_fprintf-1.c

index 0c120196879f89da2270de38a511cc4562e0f197..6e67d2959bc3b49f749e182242d95cc2ad2c1374 100644 (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 
index 1199667c5f005aa1a4f999a835b0a3b218faa593..01814e1546739e19d5c9a820742705877c963408 100644 (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,
index a0af90a3ebeb5237c1851feb38779927693047fc..5c2b747b71969b23be11ca6d6a4e673598eb1d9d 100644 (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.
index 472c2d89ffa5acfc271534e2c9480c29f7e67def..22173df30427a55640599ba1e24b7f7251e42c65 100644 (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" } */