This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Format checking testcases regexp adjustment


This patch adjusts the warning regular expressions in some format
checking tests to allow for a future patch that will change a message
referring to "length character" to use the standard terminology
"length modifier" (some modifiers being two characters), along with
other reorganisation.  OK to commit?

2000-08-25  Joseph S. Myers  <jsm28@cam.ac.uk>

	* gcc.dg/c90-printf-1.c, gcc.dg/c90-printf-2.c,
	gcc.dg/c90-scanf-1.c, gcc.dg/c90-scanf-2.c, gcc.dg/c99-printf-1.c,
	gcc.dg/c99-scanf-1.c, gcc.dg/format-ext-1.c,
	gcc.dg/format-ext-2.c, gcc.dg/format-xopen-1.c,
	gcc.dg/formatz-1.c: Adjust warning regular expressions.

--- c90-printf-1.c.orig	Fri Aug  4 16:02:03 2000
+++ c90-printf-1.c	Fri Aug 25 21:32:48 2000
@@ -79,30 +79,30 @@
   */
   printf ("%ho%hu%hx%hX", u, u, u, u);
   printf ("%hn", hn);
-  printf ("%hf", d); /* { dg-warning "length character" "bad use of %h" } */
-  printf ("%he", d); /* { dg-warning "length character" "bad use of %h" } */
-  printf ("%hE", d); /* { dg-warning "length character" "bad use of %h" } */
-  printf ("%hg", d); /* { dg-warning "length character" "bad use of %h" } */
-  printf ("%hG", d); /* { dg-warning "length character" "bad use of %h" } */
-  printf ("%hc", i); /* { dg-warning "length character" "bad use of %h" } */
-  printf ("%hs", s); /* { dg-warning "length character" "bad use of %h" } */
-  printf ("%hp", p); /* { dg-warning "length character" "bad use of %h" } */
+  printf ("%hf", d); /* { dg-warning "length" "bad use of %h" } */
+  printf ("%he", d); /* { dg-warning "length" "bad use of %h" } */
+  printf ("%hE", d); /* { dg-warning "length" "bad use of %h" } */
+  printf ("%hg", d); /* { dg-warning "length" "bad use of %h" } */
+  printf ("%hG", d); /* { dg-warning "length" "bad use of %h" } */
+  printf ("%hc", i); /* { dg-warning "length" "bad use of %h" } */
+  printf ("%hs", s); /* { dg-warning "length" "bad use of %h" } */
+  printf ("%hp", p); /* { dg-warning "length" "bad use of %h" } */
   printf ("%h"); /* { dg-warning "conversion lacks type" "bare %h" } */
   printf ("%h."); /* { dg-warning "conversion" "bogus %h." } */
   printf ("%ld%li%lo%lu%lx%lX", l, l, ul, ul, ul, ul);
   printf ("%ln", ln);
-  printf ("%lf", d); /* { dg-warning "length character|C" "bad use of %l" } */
-  printf ("%le", d); /* { dg-warning "length character|C" "bad use of %l" } */
-  printf ("%lE", d); /* { dg-warning "length character|C" "bad use of %l" } */
-  printf ("%lg", d); /* { dg-warning "length character|C" "bad use of %l" } */
-  printf ("%lG", d); /* { dg-warning "length character|C" "bad use of %l" } */
-  printf ("%lp", p); /* { dg-warning "length character|C" "bad use of %l" } */
+  printf ("%lf", d); /* { dg-warning "length|C" "bad use of %l" } */
+  printf ("%le", d); /* { dg-warning "length|C" "bad use of %l" } */
+  printf ("%lE", d); /* { dg-warning "length|C" "bad use of %l" } */
+  printf ("%lg", d); /* { dg-warning "length|C" "bad use of %l" } */
+  printf ("%lG", d); /* { dg-warning "length|C" "bad use of %l" } */
+  printf ("%lp", p); /* { dg-warning "length|C" "bad use of %l" } */
   /* These next two were added in C94, but should be objected to in C90.
      For the first one, GCC has wanted wchar_t instead of the correct C94
      and C99 wint_t.
   */
-  printf ("%lc", lc); /* { dg-warning "length character|C" "C90 bad use of %l" } */
-  printf ("%ls", ls); /* { dg-warning "length character|C" "C90 bad use of %l" } */
+  printf ("%lc", lc); /* { dg-warning "length|C" "C90 bad use of %l" } */
+  printf ("%ls", ls); /* { dg-warning "length|C" "C90 bad use of %l" } */
   /* These uses of %L are legitimate, though GCC has wrongly warned for
      them in the past.
   */
@@ -116,10 +116,10 @@
   printf ("%Lu", ull); /* { dg-warning "does not support" "bad use of %L" } */
   printf ("%Lx", ull); /* { dg-warning "does not support" "bad use of %L" } */
   printf ("%LX", ull); /* { dg-warning "does not support" "bad use of %L" } */
-  printf ("%Lc", i); /* { dg-warning "length character" "bad use of %L" } */
-  printf ("%Ls", s); /* { dg-warning "length character" "bad use of %L" } */
-  printf ("%Lp", p); /* { dg-warning "length character" "bad use of %L" } */
-  printf ("%Ln", n); /* { dg-warning "length character" "bad use of %L" } */
+  printf ("%Lc", i); /* { dg-warning "length" "bad use of %L" } */
+  printf ("%Ls", s); /* { dg-warning "length" "bad use of %L" } */
+  printf ("%Lp", p); /* { dg-warning "length" "bad use of %L" } */
+  printf ("%Ln", n); /* { dg-warning "length" "bad use of %L" } */
   /* Valid uses of each bare conversion.  */
   printf ("%d%i%o%u%x%X%f%e%E%g%G%c%s%p%n%%", i, i, u, u, u, u, d, d, d, d, d,
 	  i, s, p, n);
--- c90-printf-2.c.orig	Sun Aug  6 18:16:45 2000
+++ c90-printf-2.c	Fri Aug 25 21:32:48 2000
@@ -24,11 +24,11 @@
 {
   /* Some tests already in c90-printf-1.c, e.g. %lf.  */
   /* The widths hh, ll, j, z, t are new.  */
-  printf ("%hhd", i); /* { dg-warning "length character|C" "%hh in C90" } */
-  printf ("%lld", ll); /* { dg-warning "length character|C" "%ll in C90" } */
-  printf ("%jd", j); /* { dg-warning "length character|C" "%j in C90" } */
-  printf ("%zu", z); /* { dg-warning "length character|C" "%z in C90" } */
-  printf ("%td", t); /* { dg-warning "length character|C" "%t in C90" } */
+  printf ("%hhd", i); /* { dg-warning "length|C" "%hh in C90" } */
+  printf ("%lld", ll); /* { dg-warning "length|C" "%ll in C90" } */
+  printf ("%jd", j); /* { dg-warning "length|C" "%j in C90" } */
+  printf ("%zu", z); /* { dg-warning "length|C" "%z in C90" } */
+  printf ("%td", t); /* { dg-warning "length|C" "%t in C90" } */
   /* The formats F, a, A are new.  */
   printf ("%F", d); /* { dg-warning "C" "%F in C90" } */
   printf ("%a", d); /* { dg-warning "C" "%a in C90" } */
--- c90-scanf-1.c.orig	Mon Aug 21 14:17:05 2000
+++ c90-scanf-1.c	Fri Aug 25 21:32:48 2000
@@ -53,24 +53,24 @@
   scanf ("%3n", n); /* { dg-warning "width" "width with %n" } */
   /* Valid and invalid %h, %l, %L constructions.  */
   scanf ("%hd%hi%ho%hu%hx%hX%hn", hp, hp, uhp, uhp, uhp, uhp, hn);
-  scanf ("%he", fp); /* { dg-warning "length character" "bad use of %h" } */
-  scanf ("%hE", fp); /* { dg-warning "length character" "bad use of %h" } */
-  scanf ("%hf", fp); /* { dg-warning "length character" "bad use of %h" } */
-  scanf ("%hg", fp); /* { dg-warning "length character" "bad use of %h" } */
-  scanf ("%hG", fp); /* { dg-warning "length character" "bad use of %h" } */
-  scanf ("%hs", s); /* { dg-warning "length character" "bad use of %h" } */
-  scanf ("%h[ac]", s); /* { dg-warning "length character" "bad use of %h" } */
-  scanf ("%hc", s); /* { dg-warning "length character" "bad use of %h" } */
-  scanf ("%hp", pp); /* { dg-warning "length character" "bad use of %h" } */
+  scanf ("%he", fp); /* { dg-warning "length" "bad use of %h" } */
+  scanf ("%hE", fp); /* { dg-warning "length" "bad use of %h" } */
+  scanf ("%hf", fp); /* { dg-warning "length" "bad use of %h" } */
+  scanf ("%hg", fp); /* { dg-warning "length" "bad use of %h" } */
+  scanf ("%hG", fp); /* { dg-warning "length" "bad use of %h" } */
+  scanf ("%hs", s); /* { dg-warning "length" "bad use of %h" } */
+  scanf ("%h[ac]", s); /* { dg-warning "length" "bad use of %h" } */
+  scanf ("%hc", s); /* { dg-warning "length" "bad use of %h" } */
+  scanf ("%hp", pp); /* { dg-warning "length" "bad use of %h" } */
   scanf ("%h"); /* { dg-warning "conversion lacks type" "bare %h" } */
   scanf ("%h."); /* { dg-warning "conversion" "bogus %h" } */
   scanf ("%ld%li%lo%lu%lx%lX%ln", lp, lp, ulp, ulp, ulp, ulp, ln);
   scanf ("%le%lE%lf%lg%lG", dp, dp, dp, dp, dp);
-  scanf ("%lp", pp); /* { dg-warning "length character" "bad use of %l" } */
+  scanf ("%lp", pp); /* { dg-warning "length" "bad use of %l" } */
   /* These next three formats were added in C94.  */
-  scanf ("%ls", ls); /* { dg-warning "length character|C" "bad use of %l" } */
-  scanf ("%l[ac]", ls); /* { dg-warning "length character|C" "bad use of %l" } */
-  scanf ("%lc", ls); /* { dg-warning "length character|C" "bad use of %l" } */
+  scanf ("%ls", ls); /* { dg-warning "length|C" "bad use of %l" } */
+  scanf ("%l[ac]", ls); /* { dg-warning "length|C" "bad use of %l" } */
+  scanf ("%lc", ls); /* { dg-warning "length|C" "bad use of %l" } */
   scanf ("%Le%LE%Lf%Lg%LG", ldp, ldp, ldp, ldp, ldp);
   scanf ("%Ld", llp); /* { dg-warning "does not support" "bad use of %L" } */
   scanf ("%Li", llp); /* { dg-warning "does not support" "bad use of %L" } */
@@ -78,11 +78,11 @@
   scanf ("%Lu", ullp); /* { dg-warning "does not support" "bad use of %L" } */
   scanf ("%Lx", ullp); /* { dg-warning "does not support" "bad use of %L" } */
   scanf ("%LX", ullp); /* { dg-warning "does not support" "bad use of %L" } */
-  scanf ("%Ls", s); /* { dg-warning "length character" "bad use of %L" } */
-  scanf ("%L[ac]", s); /* { dg-warning "length character" "bad use of %L" } */
-  scanf ("%Lc", s); /* { dg-warning "length character" "bad use of %L" } */
-  scanf ("%Lp", pp); /* { dg-warning "length character" "bad use of %L" } */
-  scanf ("%Ln", n); /* { dg-warning "length character" "bad use of %L" } */
+  scanf ("%Ls", s); /* { dg-warning "length" "bad use of %L" } */
+  scanf ("%L[ac]", s); /* { dg-warning "length" "bad use of %L" } */
+  scanf ("%Lc", s); /* { dg-warning "length" "bad use of %L" } */
+  scanf ("%Lp", pp); /* { dg-warning "length" "bad use of %L" } */
+  scanf ("%Ln", n); /* { dg-warning "length" "bad use of %L" } */
   /* Valid uses of each bare conversion.  */
   scanf ("%d%i%o%u%x%X%e%E%f%g%G%s%[abc]%c%p%n%%", ip, ip, uip, uip, uip,
 	 uip, fp, fp, fp, fp, fp, s, s, s, pp, n);
--- c90-scanf-2.c.orig	Sun Aug 20 19:33:15 2000
+++ c90-scanf-2.c	Fri Aug 25 21:32:48 2000
@@ -25,11 +25,11 @@
 {
   /* Some tests already in c90-scanf-1.c.  */
   /* The widths hh, ll, j, z, t are new.  */
-  scanf ("%hhd", hhp); /* { dg-warning "length character|C" "%hh in C90" } */
-  scanf ("%lld", llp); /* { dg-warning "length character|C" "%ll in C90" } */
-  scanf ("%jd", jp); /* { dg-warning "length character|C" "%j in C90" } */
-  scanf ("%zu", zp); /* { dg-warning "length character|C" "%z in C90" } */
-  scanf ("%td", tp); /* { dg-warning "length character|C" "%t in C90" } */
+  scanf ("%hhd", hhp); /* { dg-warning "length|C" "%hh in C90" } */
+  scanf ("%lld", llp); /* { dg-warning "length|C" "%ll in C90" } */
+  scanf ("%jd", jp); /* { dg-warning "length|C" "%j in C90" } */
+  scanf ("%zu", zp); /* { dg-warning "length|C" "%z in C90" } */
+  scanf ("%td", tp); /* { dg-warning "length|C" "%t in C90" } */
   /* The formats F, a, A are new.  */
   scanf ("%F", fp); /* { dg-warning "C" "%F in C90" } */
   scanf ("%a", fp); /* { dg-warning "C" "%a in C90" } */
--- c99-printf-1.c.orig	Sun Aug  6 18:08:43 2000
+++ c99-printf-1.c	Fri Aug 25 21:32:48 2000
@@ -41,86 +41,86 @@
      or completely broken formats.
   */
   /* Valid and invalid %h, %hh, %l, %ll, %j, %z, %t, %L constructions.  */
-  printf ("%hf", d); /* { dg-warning "length character" "bad use of %h" } */
-  printf ("%hF", d); /* { dg-warning "length character" "bad use of %h" } */
-  printf ("%he", d); /* { dg-warning "length character" "bad use of %h" } */
-  printf ("%hE", d); /* { dg-warning "length character" "bad use of %h" } */
-  printf ("%hg", d); /* { dg-warning "length character" "bad use of %h" } */
-  printf ("%hG", d); /* { dg-warning "length character" "bad use of %h" } */
-  printf ("%ha", d); /* { dg-warning "length character" "bad use of %h" } */
-  printf ("%hA", d); /* { dg-warning "length character" "bad use of %h" } */
-  printf ("%hc", i); /* { dg-warning "length character" "bad use of %h" } */
-  printf ("%hs", s); /* { dg-warning "length character" "bad use of %h" } */
-  printf ("%hp", p); /* { dg-warning "length character" "bad use of %h" } */
+  printf ("%hf", d); /* { dg-warning "length" "bad use of %h" } */
+  printf ("%hF", d); /* { dg-warning "length" "bad use of %h" } */
+  printf ("%he", d); /* { dg-warning "length" "bad use of %h" } */
+  printf ("%hE", d); /* { dg-warning "length" "bad use of %h" } */
+  printf ("%hg", d); /* { dg-warning "length" "bad use of %h" } */
+  printf ("%hG", d); /* { dg-warning "length" "bad use of %h" } */
+  printf ("%ha", d); /* { dg-warning "length" "bad use of %h" } */
+  printf ("%hA", d); /* { dg-warning "length" "bad use of %h" } */
+  printf ("%hc", i); /* { dg-warning "length" "bad use of %h" } */
+  printf ("%hs", s); /* { dg-warning "length" "bad use of %h" } */
+  printf ("%hp", p); /* { dg-warning "length" "bad use of %h" } */
   printf ("%hhd%hhi%hho%hhu%hhx%hhX", i, i, u, u, u, u);
   printf ("%hhn", ss);
-  printf ("%hhf", d); /* { dg-warning "length character" "bad use of %hh" } */
-  printf ("%hhF", d); /* { dg-warning "length character" "bad use of %hh" } */
-  printf ("%hhe", d); /* { dg-warning "length character" "bad use of %hh" } */
-  printf ("%hhE", d); /* { dg-warning "length character" "bad use of %hh" } */
-  printf ("%hhg", d); /* { dg-warning "length character" "bad use of %hh" } */
-  printf ("%hhG", d); /* { dg-warning "length character" "bad use of %hh" } */
-  printf ("%hha", d); /* { dg-warning "length character" "bad use of %hh" } */
-  printf ("%hhA", d); /* { dg-warning "length character" "bad use of %hh" } */
-  printf ("%hhc", i); /* { dg-warning "length character" "bad use of %hh" } */
-  printf ("%hhs", s); /* { dg-warning "length character" "bad use of %hh" } */
-  printf ("%hhp", p); /* { dg-warning "length character" "bad use of %hh" } */
+  printf ("%hhf", d); /* { dg-warning "length" "bad use of %hh" } */
+  printf ("%hhF", d); /* { dg-warning "length" "bad use of %hh" } */
+  printf ("%hhe", d); /* { dg-warning "length" "bad use of %hh" } */
+  printf ("%hhE", d); /* { dg-warning "length" "bad use of %hh" } */
+  printf ("%hhg", d); /* { dg-warning "length" "bad use of %hh" } */
+  printf ("%hhG", d); /* { dg-warning "length" "bad use of %hh" } */
+  printf ("%hha", d); /* { dg-warning "length" "bad use of %hh" } */
+  printf ("%hhA", d); /* { dg-warning "length" "bad use of %hh" } */
+  printf ("%hhc", i); /* { dg-warning "length" "bad use of %hh" } */
+  printf ("%hhs", s); /* { dg-warning "length" "bad use of %hh" } */
+  printf ("%hhp", p); /* { dg-warning "length" "bad use of %hh" } */
   printf ("%lc", lc);
   printf ("%ls", ls);
   printf ("%lf%lF%le%lE%lg%lG%la%lA", d, d, d, d, d, d, d, d);
-  printf ("%lp", p); /* { dg-warning "length character|C" "bad use of %l" } */
+  printf ("%lp", p); /* { dg-warning "length|C" "bad use of %l" } */
   printf ("%lld%lli%llo%llu%llx%llX", ll, ll, ull, ull, ull, ull);
   printf ("%lln", lln);
-  printf ("%llf", d); /* { dg-warning "length character" "bad use of %ll" } */
-  printf ("%llF", d); /* { dg-warning "length character" "bad use of %ll" } */
-  printf ("%lle", d); /* { dg-warning "length character" "bad use of %ll" } */
-  printf ("%llE", d); /* { dg-warning "length character" "bad use of %ll" } */
-  printf ("%llg", d); /* { dg-warning "length character" "bad use of %ll" } */
-  printf ("%llG", d); /* { dg-warning "length character" "bad use of %ll" } */
-  printf ("%lla", d); /* { dg-warning "length character" "bad use of %ll" } */
-  printf ("%llA", d); /* { dg-warning "length character" "bad use of %ll" } */
-  printf ("%llc", i); /* { dg-warning "length character" "bad use of %ll" } */
-  printf ("%lls", s); /* { dg-warning "length character" "bad use of %ll" } */
-  printf ("%llp", p); /* { dg-warning "length character" "bad use of %ll" } */
-  printf ("%jd%ji%jo%ju%jx%jX", j, j, uj, uj, uj, uj); /* { dg-bogus "length character" "bogus %j warning" { xfail *-*-* } } */
-  printf ("%jn", jn); /* { dg-bogus "length character" "bogus %j warning" { xfail *-*-* } } */
-  printf ("%jf", d); /* { dg-warning "length character" "bad use of %j" } */
-  printf ("%jF", d); /* { dg-warning "length character" "bad use of %j" } */
-  printf ("%je", d); /* { dg-warning "length character" "bad use of %j" } */
-  printf ("%jE", d); /* { dg-warning "length character" "bad use of %j" } */
-  printf ("%jg", d); /* { dg-warning "length character" "bad use of %j" } */
-  printf ("%jG", d); /* { dg-warning "length character" "bad use of %j" } */
-  printf ("%ja", d); /* { dg-warning "length character" "bad use of %j" } */
-  printf ("%jA", d); /* { dg-warning "length character" "bad use of %j" } */
-  printf ("%jc", i); /* { dg-warning "length character" "bad use of %j" } */
-  printf ("%js", s); /* { dg-warning "length character" "bad use of %j" } */
-  printf ("%jp", p); /* { dg-warning "length character" "bad use of %j" } */
+  printf ("%llf", d); /* { dg-warning "length" "bad use of %ll" } */
+  printf ("%llF", d); /* { dg-warning "length" "bad use of %ll" } */
+  printf ("%lle", d); /* { dg-warning "length" "bad use of %ll" } */
+  printf ("%llE", d); /* { dg-warning "length" "bad use of %ll" } */
+  printf ("%llg", d); /* { dg-warning "length" "bad use of %ll" } */
+  printf ("%llG", d); /* { dg-warning "length" "bad use of %ll" } */
+  printf ("%lla", d); /* { dg-warning "length" "bad use of %ll" } */
+  printf ("%llA", d); /* { dg-warning "length" "bad use of %ll" } */
+  printf ("%llc", i); /* { dg-warning "length" "bad use of %ll" } */
+  printf ("%lls", s); /* { dg-warning "length" "bad use of %ll" } */
+  printf ("%llp", p); /* { dg-warning "length" "bad use of %ll" } */
+  printf ("%jd%ji%jo%ju%jx%jX", j, j, uj, uj, uj, uj); /* { dg-bogus "length" "bogus %j warning" { xfail *-*-* } } */
+  printf ("%jn", jn); /* { dg-bogus "length" "bogus %j warning" { xfail *-*-* } } */
+  printf ("%jf", d); /* { dg-warning "length" "bad use of %j" } */
+  printf ("%jF", d); /* { dg-warning "length" "bad use of %j" } */
+  printf ("%je", d); /* { dg-warning "length" "bad use of %j" } */
+  printf ("%jE", d); /* { dg-warning "length" "bad use of %j" } */
+  printf ("%jg", d); /* { dg-warning "length" "bad use of %j" } */
+  printf ("%jG", d); /* { dg-warning "length" "bad use of %j" } */
+  printf ("%ja", d); /* { dg-warning "length" "bad use of %j" } */
+  printf ("%jA", d); /* { dg-warning "length" "bad use of %j" } */
+  printf ("%jc", i); /* { dg-warning "length" "bad use of %j" } */
+  printf ("%js", s); /* { dg-warning "length" "bad use of %j" } */
+  printf ("%jp", p); /* { dg-warning "length" "bad use of %j" } */
   printf ("%zd%zi%zo%zu%zx%zX", sz, sz, z, z, z, z);
   printf ("%zn", zn);
-  printf ("%zf", d); /* { dg-warning "length character" "bad use of %z" } */
-  printf ("%zF", d); /* { dg-warning "length character" "bad use of %z" } */
-  printf ("%ze", d); /* { dg-warning "length character" "bad use of %z" } */
-  printf ("%zE", d); /* { dg-warning "length character" "bad use of %z" } */
-  printf ("%zg", d); /* { dg-warning "length character" "bad use of %z" } */
-  printf ("%zG", d); /* { dg-warning "length character" "bad use of %z" } */
-  printf ("%za", d); /* { dg-warning "length character" "bad use of %z" } */
-  printf ("%zA", d); /* { dg-warning "length character" "bad use of %z" } */
-  printf ("%zc", i); /* { dg-warning "length character" "bad use of %z" } */
-  printf ("%zs", s); /* { dg-warning "length character" "bad use of %z" } */
-  printf ("%zp", p); /* { dg-warning "length character" "bad use of %z" } */
+  printf ("%zf", d); /* { dg-warning "length" "bad use of %z" } */
+  printf ("%zF", d); /* { dg-warning "length" "bad use of %z" } */
+  printf ("%ze", d); /* { dg-warning "length" "bad use of %z" } */
+  printf ("%zE", d); /* { dg-warning "length" "bad use of %z" } */
+  printf ("%zg", d); /* { dg-warning "length" "bad use of %z" } */
+  printf ("%zG", d); /* { dg-warning "length" "bad use of %z" } */
+  printf ("%za", d); /* { dg-warning "length" "bad use of %z" } */
+  printf ("%zA", d); /* { dg-warning "length" "bad use of %z" } */
+  printf ("%zc", i); /* { dg-warning "length" "bad use of %z" } */
+  printf ("%zs", s); /* { dg-warning "length" "bad use of %z" } */
+  printf ("%zp", p); /* { dg-warning "length" "bad use of %z" } */
   printf ("%td%ti%to%tu%tx%tX", t, t, t, t, t, t);
   printf ("%tn", tn);
-  printf ("%tf", d); /* { dg-warning "length character" "bad use of %t" } */
-  printf ("%tF", d); /* { dg-warning "length character" "bad use of %t" } */
-  printf ("%te", d); /* { dg-warning "length character" "bad use of %t" } */
-  printf ("%tE", d); /* { dg-warning "length character" "bad use of %t" } */
-  printf ("%tg", d); /* { dg-warning "length character" "bad use of %t" } */
-  printf ("%tG", d); /* { dg-warning "length character" "bad use of %t" } */
-  printf ("%ta", d); /* { dg-warning "length character" "bad use of %t" } */
-  printf ("%tA", d); /* { dg-warning "length character" "bad use of %t" } */
-  printf ("%tc", i); /* { dg-warning "length character" "bad use of %t" } */
-  printf ("%ts", s); /* { dg-warning "length character" "bad use of %t" } */
-  printf ("%tp", p); /* { dg-warning "length character" "bad use of %t" } */
+  printf ("%tf", d); /* { dg-warning "length" "bad use of %t" } */
+  printf ("%tF", d); /* { dg-warning "length" "bad use of %t" } */
+  printf ("%te", d); /* { dg-warning "length" "bad use of %t" } */
+  printf ("%tE", d); /* { dg-warning "length" "bad use of %t" } */
+  printf ("%tg", d); /* { dg-warning "length" "bad use of %t" } */
+  printf ("%tG", d); /* { dg-warning "length" "bad use of %t" } */
+  printf ("%ta", d); /* { dg-warning "length" "bad use of %t" } */
+  printf ("%tA", d); /* { dg-warning "length" "bad use of %t" } */
+  printf ("%tc", i); /* { dg-warning "length" "bad use of %t" } */
+  printf ("%ts", s); /* { dg-warning "length" "bad use of %t" } */
+  printf ("%tp", p); /* { dg-warning "length" "bad use of %t" } */
   printf ("%Le%LE%Lf%LF%Lg%LG%La%LA", ld, ld, ld, ld, ld, ld, ld, ld);
   /* These next six are accepted by GCC as referring to long long,
      but -pedantic correctly warns.
@@ -131,10 +131,10 @@
   printf ("%Lu", ull); /* { dg-warning "does not support" "bad use of %L" } */
   printf ("%Lx", ull); /* { dg-warning "does not support" "bad use of %L" } */
   printf ("%LX", ull); /* { dg-warning "does not support" "bad use of %L" } */
-  printf ("%Lc", i); /* { dg-warning "length character" "bad use of %L" } */
-  printf ("%Ls", s); /* { dg-warning "length character" "bad use of %L" } */
-  printf ("%Lp", p); /* { dg-warning "length character" "bad use of %L" } */
-  printf ("%Ln", n); /* { dg-warning "length character" "bad use of %L" } */
+  printf ("%Lc", i); /* { dg-warning "length" "bad use of %L" } */
+  printf ("%Ls", s); /* { dg-warning "length" "bad use of %L" } */
+  printf ("%Lp", p); /* { dg-warning "length" "bad use of %L" } */
+  printf ("%Ln", n); /* { dg-warning "length" "bad use of %L" } */
   /* Valid uses of each bare conversion.  */
   printf ("%d%i%o%u%x%X%f%F%e%E%g%G%a%A%c%s%p%n%%", i, i, u, u, u, u,
 	  d, d, d, d, d, d, d, d, i, s, p, n);
--- c99-scanf-1.c.orig	Sun Aug 20 19:33:15 2000
+++ c99-scanf-1.c	Fri Aug 25 21:32:48 2000
@@ -56,91 +56,91 @@
   scanf ("%3n", n); /* { dg-warning "width" "width with %n" } */
   /* Valid and invalid %h, %hh, %l, %ll, %j, %z, %t, %L constructions.  */
   scanf ("%hd%hi%ho%hu%hx%hX%hn", hp, hp, uhp, uhp, uhp, uhp, hn);
-  scanf ("%ha", fp); /* { dg-warning "length character" "bad use of %h" } */
-  scanf ("%hA", fp); /* { dg-warning "length character" "bad use of %h" } */
-  scanf ("%he", fp); /* { dg-warning "length character" "bad use of %h" } */
-  scanf ("%hE", fp); /* { dg-warning "length character" "bad use of %h" } */
-  scanf ("%hf", fp); /* { dg-warning "length character" "bad use of %h" } */
-  scanf ("%hF", fp); /* { dg-warning "length character" "bad use of %h" } */
-  scanf ("%hg", fp); /* { dg-warning "length character" "bad use of %h" } */
-  scanf ("%hG", fp); /* { dg-warning "length character" "bad use of %h" } */
-  scanf ("%hs", s); /* { dg-warning "length character" "bad use of %h" } */
-  scanf ("%h[ac]", s); /* { dg-warning "length character" "bad use of %h" } */
-  scanf ("%hc", s); /* { dg-warning "length character" "bad use of %h" } */
-  scanf ("%hp", pp); /* { dg-warning "length character" "bad use of %h" } */
+  scanf ("%ha", fp); /* { dg-warning "length" "bad use of %h" } */
+  scanf ("%hA", fp); /* { dg-warning "length" "bad use of %h" } */
+  scanf ("%he", fp); /* { dg-warning "length" "bad use of %h" } */
+  scanf ("%hE", fp); /* { dg-warning "length" "bad use of %h" } */
+  scanf ("%hf", fp); /* { dg-warning "length" "bad use of %h" } */
+  scanf ("%hF", fp); /* { dg-warning "length" "bad use of %h" } */
+  scanf ("%hg", fp); /* { dg-warning "length" "bad use of %h" } */
+  scanf ("%hG", fp); /* { dg-warning "length" "bad use of %h" } */
+  scanf ("%hs", s); /* { dg-warning "length" "bad use of %h" } */
+  scanf ("%h[ac]", s); /* { dg-warning "length" "bad use of %h" } */
+  scanf ("%hc", s); /* { dg-warning "length" "bad use of %h" } */
+  scanf ("%hp", pp); /* { dg-warning "length" "bad use of %h" } */
   scanf ("%hhd%hhi%hho%hhu%hhx%hhX%hhn", hhp, hhp, uhhp, uhhp, uhhp, uhhp,
 	 hhn);
-  scanf ("%hha", fp); /* { dg-warning "length character" "bad use of %hh" } */
-  scanf ("%hhA", fp); /* { dg-warning "length character" "bad use of %hh" } */
-  scanf ("%hhe", fp); /* { dg-warning "length character" "bad use of %hh" } */
-  scanf ("%hhE", fp); /* { dg-warning "length character" "bad use of %hh" } */
-  scanf ("%hhf", fp); /* { dg-warning "length character" "bad use of %hh" } */
-  scanf ("%hhF", fp); /* { dg-warning "length character" "bad use of %hh" } */
-  scanf ("%hhg", fp); /* { dg-warning "length character" "bad use of %hh" } */
-  scanf ("%hhG", fp); /* { dg-warning "length character" "bad use of %hh" } */
-  scanf ("%hhs", s); /* { dg-warning "length character" "bad use of %hh" } */
-  scanf ("%hh[ac]", s); /* { dg-warning "length character" "bad use of %hh" } */
-  scanf ("%hhc", s); /* { dg-warning "length character" "bad use of %hh" } */
-  scanf ("%hhp", pp); /* { dg-warning "length character" "bad use of %hh" } */
+  scanf ("%hha", fp); /* { dg-warning "length" "bad use of %hh" } */
+  scanf ("%hhA", fp); /* { dg-warning "length" "bad use of %hh" } */
+  scanf ("%hhe", fp); /* { dg-warning "length" "bad use of %hh" } */
+  scanf ("%hhE", fp); /* { dg-warning "length" "bad use of %hh" } */
+  scanf ("%hhf", fp); /* { dg-warning "length" "bad use of %hh" } */
+  scanf ("%hhF", fp); /* { dg-warning "length" "bad use of %hh" } */
+  scanf ("%hhg", fp); /* { dg-warning "length" "bad use of %hh" } */
+  scanf ("%hhG", fp); /* { dg-warning "length" "bad use of %hh" } */
+  scanf ("%hhs", s); /* { dg-warning "length" "bad use of %hh" } */
+  scanf ("%hh[ac]", s); /* { dg-warning "length" "bad use of %hh" } */
+  scanf ("%hhc", s); /* { dg-warning "length" "bad use of %hh" } */
+  scanf ("%hhp", pp); /* { dg-warning "length" "bad use of %hh" } */
   scanf ("%ld%li%lo%lu%lx%lX%ln", lp, lp, ulp, ulp, ulp, ulp, ln);
   scanf ("%la%lA%le%lE%lf%lF%lg%lG", dp, dp, dp, dp, dp, dp, dp, dp);
-  scanf ("%lp", pp); /* { dg-warning "length character" "bad use of %l" } */
+  scanf ("%lp", pp); /* { dg-warning "length" "bad use of %l" } */
   scanf ("%ls", ls);
   scanf ("%l[ac]", ls);
   scanf ("%lc", ls);
   scanf ("%lld%lli%llo%llu%llx%llX%lln", llp, llp, ullp, ullp, ullp, ullp,
 	 lln);
-  scanf ("%lla", fp); /* { dg-warning "length character" "bad use of %ll" } */
-  scanf ("%llA", fp); /* { dg-warning "length character" "bad use of %ll" } */
-  scanf ("%lle", fp); /* { dg-warning "length character" "bad use of %ll" } */
-  scanf ("%llE", fp); /* { dg-warning "length character" "bad use of %ll" } */
-  scanf ("%llf", fp); /* { dg-warning "length character" "bad use of %ll" } */
-  scanf ("%llF", fp); /* { dg-warning "length character" "bad use of %ll" } */
-  scanf ("%llg", fp); /* { dg-warning "length character" "bad use of %ll" } */
-  scanf ("%llG", fp); /* { dg-warning "length character" "bad use of %ll" } */
-  scanf ("%lls", s); /* { dg-warning "length character" "bad use of %ll" } */
-  scanf ("%ll[ac]", s); /* { dg-warning "length character" "bad use of %ll" } */
-  scanf ("%llc", s); /* { dg-warning "length character" "bad use of %ll" } */
-  scanf ("%llp", pp); /* { dg-warning "length character" "bad use of %ll" } */
-  scanf ("%jd%ji%jo%ju%jx%jX%jn", jp, jp, ujp, ujp, ujp, ujp, jn); /* { dg-bogus "length character" "bogus %j warning" { xfail *-*-* } } */
-  scanf ("%ja", fp); /* { dg-warning "length character" "bad use of %j" } */
-  scanf ("%jA", fp); /* { dg-warning "length character" "bad use of %j" } */
-  scanf ("%je", fp); /* { dg-warning "length character" "bad use of %j" } */
-  scanf ("%jE", fp); /* { dg-warning "length character" "bad use of %j" } */
-  scanf ("%jf", fp); /* { dg-warning "length character" "bad use of %j" } */
-  scanf ("%jF", fp); /* { dg-warning "length character" "bad use of %j" } */
-  scanf ("%jg", fp); /* { dg-warning "length character" "bad use of %j" } */
-  scanf ("%jG", fp); /* { dg-warning "length character" "bad use of %j" } */
-  scanf ("%js", s); /* { dg-warning "length character" "bad use of %j" } */
-  scanf ("%j[ac]", s); /* { dg-warning "length character" "bad use of %j" } */
-  scanf ("%jc", s); /* { dg-warning "length character" "bad use of %j" } */
-  scanf ("%jp", pp); /* { dg-warning "length character" "bad use of %j" } */
+  scanf ("%lla", fp); /* { dg-warning "length" "bad use of %ll" } */
+  scanf ("%llA", fp); /* { dg-warning "length" "bad use of %ll" } */
+  scanf ("%lle", fp); /* { dg-warning "length" "bad use of %ll" } */
+  scanf ("%llE", fp); /* { dg-warning "length" "bad use of %ll" } */
+  scanf ("%llf", fp); /* { dg-warning "length" "bad use of %ll" } */
+  scanf ("%llF", fp); /* { dg-warning "length" "bad use of %ll" } */
+  scanf ("%llg", fp); /* { dg-warning "length" "bad use of %ll" } */
+  scanf ("%llG", fp); /* { dg-warning "length" "bad use of %ll" } */
+  scanf ("%lls", s); /* { dg-warning "length" "bad use of %ll" } */
+  scanf ("%ll[ac]", s); /* { dg-warning "length" "bad use of %ll" } */
+  scanf ("%llc", s); /* { dg-warning "length" "bad use of %ll" } */
+  scanf ("%llp", pp); /* { dg-warning "length" "bad use of %ll" } */
+  scanf ("%jd%ji%jo%ju%jx%jX%jn", jp, jp, ujp, ujp, ujp, ujp, jn); /* { dg-bogus "length" "bogus %j warning" { xfail *-*-* } } */
+  scanf ("%ja", fp); /* { dg-warning "length" "bad use of %j" } */
+  scanf ("%jA", fp); /* { dg-warning "length" "bad use of %j" } */
+  scanf ("%je", fp); /* { dg-warning "length" "bad use of %j" } */
+  scanf ("%jE", fp); /* { dg-warning "length" "bad use of %j" } */
+  scanf ("%jf", fp); /* { dg-warning "length" "bad use of %j" } */
+  scanf ("%jF", fp); /* { dg-warning "length" "bad use of %j" } */
+  scanf ("%jg", fp); /* { dg-warning "length" "bad use of %j" } */
+  scanf ("%jG", fp); /* { dg-warning "length" "bad use of %j" } */
+  scanf ("%js", s); /* { dg-warning "length" "bad use of %j" } */
+  scanf ("%j[ac]", s); /* { dg-warning "length" "bad use of %j" } */
+  scanf ("%jc", s); /* { dg-warning "length" "bad use of %j" } */
+  scanf ("%jp", pp); /* { dg-warning "length" "bad use of %j" } */
   scanf ("%zd%zi%zo%zu%zx%zX%zn", szp, szp, zp, zp, zp, zp, zn);
-  scanf ("%za", fp); /* { dg-warning "length character" "bad use of %z" } */
-  scanf ("%zA", fp); /* { dg-warning "length character" "bad use of %z" } */
-  scanf ("%ze", fp); /* { dg-warning "length character" "bad use of %z" } */
-  scanf ("%zE", fp); /* { dg-warning "length character" "bad use of %z" } */
-  scanf ("%zf", fp); /* { dg-warning "length character" "bad use of %z" } */
-  scanf ("%zF", fp); /* { dg-warning "length character" "bad use of %z" } */
-  scanf ("%zg", fp); /* { dg-warning "length character" "bad use of %z" } */
-  scanf ("%zG", fp); /* { dg-warning "length character" "bad use of %z" } */
-  scanf ("%zs", s); /* { dg-warning "length character" "bad use of %z" } */
-  scanf ("%z[ac]", s); /* { dg-warning "length character" "bad use of %z" } */
-  scanf ("%zc", s); /* { dg-warning "length character" "bad use of %z" } */
-  scanf ("%zp", pp); /* { dg-warning "length character" "bad use of %z" } */
+  scanf ("%za", fp); /* { dg-warning "length" "bad use of %z" } */
+  scanf ("%zA", fp); /* { dg-warning "length" "bad use of %z" } */
+  scanf ("%ze", fp); /* { dg-warning "length" "bad use of %z" } */
+  scanf ("%zE", fp); /* { dg-warning "length" "bad use of %z" } */
+  scanf ("%zf", fp); /* { dg-warning "length" "bad use of %z" } */
+  scanf ("%zF", fp); /* { dg-warning "length" "bad use of %z" } */
+  scanf ("%zg", fp); /* { dg-warning "length" "bad use of %z" } */
+  scanf ("%zG", fp); /* { dg-warning "length" "bad use of %z" } */
+  scanf ("%zs", s); /* { dg-warning "length" "bad use of %z" } */
+  scanf ("%z[ac]", s); /* { dg-warning "length" "bad use of %z" } */
+  scanf ("%zc", s); /* { dg-warning "length" "bad use of %z" } */
+  scanf ("%zp", pp); /* { dg-warning "length" "bad use of %z" } */
   scanf ("%td%ti%to%tu%tx%tX%tn", tp, tp, utp, utp, utp, utp, tn);
-  scanf ("%ta", fp); /* { dg-warning "length character" "bad use of %t" } */
-  scanf ("%tA", fp); /* { dg-warning "length character" "bad use of %t" } */
-  scanf ("%te", fp); /* { dg-warning "length character" "bad use of %t" } */
-  scanf ("%tE", fp); /* { dg-warning "length character" "bad use of %t" } */
-  scanf ("%tf", fp); /* { dg-warning "length character" "bad use of %t" } */
-  scanf ("%tF", fp); /* { dg-warning "length character" "bad use of %t" } */
-  scanf ("%tg", fp); /* { dg-warning "length character" "bad use of %t" } */
-  scanf ("%tG", fp); /* { dg-warning "length character" "bad use of %t" } */
-  scanf ("%ts", s); /* { dg-warning "length character" "bad use of %t" } */
-  scanf ("%t[ac]", s); /* { dg-warning "length character" "bad use of %t" } */
-  scanf ("%tc", s); /* { dg-warning "length character" "bad use of %t" } */
-  scanf ("%tp", pp); /* { dg-warning "length character" "bad use of %t" } */
+  scanf ("%ta", fp); /* { dg-warning "length" "bad use of %t" } */
+  scanf ("%tA", fp); /* { dg-warning "length" "bad use of %t" } */
+  scanf ("%te", fp); /* { dg-warning "length" "bad use of %t" } */
+  scanf ("%tE", fp); /* { dg-warning "length" "bad use of %t" } */
+  scanf ("%tf", fp); /* { dg-warning "length" "bad use of %t" } */
+  scanf ("%tF", fp); /* { dg-warning "length" "bad use of %t" } */
+  scanf ("%tg", fp); /* { dg-warning "length" "bad use of %t" } */
+  scanf ("%tG", fp); /* { dg-warning "length" "bad use of %t" } */
+  scanf ("%ts", s); /* { dg-warning "length" "bad use of %t" } */
+  scanf ("%t[ac]", s); /* { dg-warning "length" "bad use of %t" } */
+  scanf ("%tc", s); /* { dg-warning "length" "bad use of %t" } */
+  scanf ("%tp", pp); /* { dg-warning "length" "bad use of %t" } */
   scanf ("%La%LA%Le%LE%Lf%LF%Lg%LG", ldp, ldp, ldp, ldp, ldp, ldp, ldp, ldp);
   scanf ("%Ld", llp); /* { dg-warning "does not support" "bad use of %L" } */
   scanf ("%Li", llp); /* { dg-warning "does not support" "bad use of %L" } */
@@ -148,11 +148,11 @@
   scanf ("%Lu", ullp); /* { dg-warning "does not support" "bad use of %L" } */
   scanf ("%Lx", ullp); /* { dg-warning "does not support" "bad use of %L" } */
   scanf ("%LX", ullp); /* { dg-warning "does not support" "bad use of %L" } */
-  scanf ("%Ls", s); /* { dg-warning "length character" "bad use of %L" } */
-  scanf ("%L[ac]", s); /* { dg-warning "length character" "bad use of %L" } */
-  scanf ("%Lc", s); /* { dg-warning "length character" "bad use of %L" } */
-  scanf ("%Lp", pp); /* { dg-warning "length character" "bad use of %L" } */
-  scanf ("%Ln", n); /* { dg-warning "length character" "bad use of %L" } */
+  scanf ("%Ls", s); /* { dg-warning "length" "bad use of %L" } */
+  scanf ("%L[ac]", s); /* { dg-warning "length" "bad use of %L" } */
+  scanf ("%Lc", s); /* { dg-warning "length" "bad use of %L" } */
+  scanf ("%Lp", pp); /* { dg-warning "length" "bad use of %L" } */
+  scanf ("%Ln", n); /* { dg-warning "length" "bad use of %L" } */
   /* Valid uses of each bare conversion.  */
   scanf ("%d%i%o%u%x%X%a%A%e%E%f%F%g%G%s%[abc]%c%p%n%%", ip, ip, uip, uip, uip,
          uip, fp, fp, fp, fp, fp, fp, fp, fp, s, s, s, pp, n);
--- format-ext-1.c.orig	Wed Aug 23 00:48:13 2000
+++ format-ext-1.c	Fri Aug 25 21:32:48 2000
@@ -24,44 +24,44 @@
      This is largely obsoleted in C99 by %j, %ll and PRId64.
   */
   printf ("%qd%qi%qo%qu%qx%qX%qn", q, q, uq, uq, uq, uq, qn);
-  printf ("%qf", d); /* { dg-warning "length character" "bad use of %q" } */
-  printf ("%qF", d); /* { dg-warning "length character" "bad use of %q" } */
-  printf ("%qe", d); /* { dg-warning "length character" "bad use of %q" } */
-  printf ("%qE", d); /* { dg-warning "length character" "bad use of %q" } */
-  printf ("%qg", d); /* { dg-warning "length character" "bad use of %q" } */
-  printf ("%qG", d); /* { dg-warning "length character" "bad use of %q" } */
-  printf ("%qa", d); /* { dg-warning "length character" "bad use of %q" } */
-  printf ("%qA", d); /* { dg-warning "length character" "bad use of %q" } */
-  printf ("%qc", i); /* { dg-warning "length character" "bad use of %q" } */
-  printf ("%qs", s); /* { dg-warning "length character" "bad use of %q" } */
-  printf ("%qp", p); /* { dg-warning "length character" "bad use of %q" } */
-  printf ("%qC", lc); /* { dg-warning "length character" "bad use of %q" } */
-  printf ("%qS", ls); /* { dg-warning "length character" "bad use of %q" } */
-  /* With a bad length character GCC wants some argument, any argument,
+  printf ("%qf", d); /* { dg-warning "length" "bad use of %q" } */
+  printf ("%qF", d); /* { dg-warning "length" "bad use of %q" } */
+  printf ("%qe", d); /* { dg-warning "length" "bad use of %q" } */
+  printf ("%qE", d); /* { dg-warning "length" "bad use of %q" } */
+  printf ("%qg", d); /* { dg-warning "length" "bad use of %q" } */
+  printf ("%qG", d); /* { dg-warning "length" "bad use of %q" } */
+  printf ("%qa", d); /* { dg-warning "length" "bad use of %q" } */
+  printf ("%qA", d); /* { dg-warning "length" "bad use of %q" } */
+  printf ("%qc", i); /* { dg-warning "length" "bad use of %q" } */
+  printf ("%qs", s); /* { dg-warning "length" "bad use of %q" } */
+  printf ("%qp", p); /* { dg-warning "length" "bad use of %q" } */
+  printf ("%qC", lc); /* { dg-warning "length" "bad use of %q" } */
+  printf ("%qS", ls); /* { dg-warning "length" "bad use of %q" } */
+  /* With a bad length GCC wants some argument, any argument,
      to devour with the format conversion, as a synchronisation heuristic.
      This may get improved later.
   */
-  printf ("%qm", i); /* { dg-warning "length character" "bad use of %q" } */
+  printf ("%qm", i); /* { dg-warning "length" "bad use of %q" } */
   /* As an extension, GCC allows the length "Z" as a synonym for "z".
      This was an extension predating C99 which should now be considered
      deprecated; use the standard "z" instead.
   */
   printf ("%Zd%Zi%Zo%Zu%Zx%ZX", z, z, z, z, z, z);
   printf ("%Zn", zn);
-  printf ("%Zf", d); /* { dg-warning "length character" "bad use of %Z" } */
-  printf ("%ZF", d); /* { dg-warning "length character" "bad use of %Z" } */
-  printf ("%Ze", d); /* { dg-warning "length character" "bad use of %Z" } */
-  printf ("%ZE", d); /* { dg-warning "length character" "bad use of %Z" } */
-  printf ("%Zg", d); /* { dg-warning "length character" "bad use of %Z" } */
-  printf ("%ZG", d); /* { dg-warning "length character" "bad use of %Z" } */
-  printf ("%Za", d); /* { dg-warning "length character" "bad use of %Z" } */
-  printf ("%ZA", d); /* { dg-warning "length character" "bad use of %Z" } */
-  printf ("%Zc", i); /* { dg-warning "length character" "bad use of %Z" } */
-  printf ("%Zs", s); /* { dg-warning "length character" "bad use of %Z" } */
-  printf ("%Zp", p); /* { dg-warning "length character" "bad use of %Z" } */
-  printf ("%ZC", lc); /* { dg-warning "length character" "bad use of %Z" } */
-  printf ("%ZS", ls); /* { dg-warning "length character" "bad use of %Z" } */
-  printf ("%Zm", i); /* { dg-warning "length character" "bad use of %Z" } */
+  printf ("%Zf", d); /* { dg-warning "length" "bad use of %Z" } */
+  printf ("%ZF", d); /* { dg-warning "length" "bad use of %Z" } */
+  printf ("%Ze", d); /* { dg-warning "length" "bad use of %Z" } */
+  printf ("%ZE", d); /* { dg-warning "length" "bad use of %Z" } */
+  printf ("%Zg", d); /* { dg-warning "length" "bad use of %Z" } */
+  printf ("%ZG", d); /* { dg-warning "length" "bad use of %Z" } */
+  printf ("%Za", d); /* { dg-warning "length" "bad use of %Z" } */
+  printf ("%ZA", d); /* { dg-warning "length" "bad use of %Z" } */
+  printf ("%Zc", i); /* { dg-warning "length" "bad use of %Z" } */
+  printf ("%Zs", s); /* { dg-warning "length" "bad use of %Z" } */
+  printf ("%Zp", p); /* { dg-warning "length" "bad use of %Z" } */
+  printf ("%ZC", lc); /* { dg-warning "length" "bad use of %Z" } */
+  printf ("%ZS", ls); /* { dg-warning "length" "bad use of %Z" } */
+  printf ("%Zm", i); /* { dg-warning "length" "bad use of %Z" } */
   /* As an extension, GCC allows the length "L" on integer formats
      (but not %n) as a synonym for "ll".
      This should be considered deprecated.
@@ -83,16 +83,16 @@
   printf ("%#m"); /* { dg-warning "flag" "bad %#m" } */
   printf ("%0m"); /* { dg-warning "flag" "bad %0m" } */
   printf ("%'m"); /* { dg-warning "flag" "bad %'m" } */
-  printf ("%hm", i); /* { dg-warning "length character" "bad %hm" } */
-  printf ("%hhm", i); /* { dg-warning "length character" "bad %hhm" } */
-  printf ("%lm", i); /* { dg-warning "length character" "bad %lm" } */
-  printf ("%llm", i); /* { dg-warning "length character" "bad %llm" } */
-  printf ("%jm", i); /* { dg-warning "length character" "bad %jm" } */
-  printf ("%zm", i); /* { dg-warning "length character" "bad %zm" } */
-  printf ("%tm", i); /* { dg-warning "length character" "bad %tm" } */
-  printf ("%Lm", i); /* { dg-warning "length character" "bad %Lm" } */
-  printf ("%qm", i); /* { dg-warning "length character" "bad %qm" } */
-  printf ("%Zm", i); /* { dg-warning "length character" "bad %Zm" } */
+  printf ("%hm", i); /* { dg-warning "length" "bad %hm" } */
+  printf ("%hhm", i); /* { dg-warning "length" "bad %hhm" } */
+  printf ("%lm", i); /* { dg-warning "length" "bad %lm" } */
+  printf ("%llm", i); /* { dg-warning "length" "bad %llm" } */
+  printf ("%jm", i); /* { dg-warning "length" "bad %jm" } */
+  printf ("%zm", i); /* { dg-warning "length" "bad %zm" } */
+  printf ("%tm", i); /* { dg-warning "length" "bad %tm" } */
+  printf ("%Lm", i); /* { dg-warning "length" "bad %Lm" } */
+  printf ("%qm", i); /* { dg-warning "length" "bad %qm" } */
+  printf ("%Zm", i); /* { dg-warning "length" "bad %Zm" } */
   /* As an extension, glibc includes the "I" flag for decimal integer
      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
--- format-ext-2.c.orig	Wed Aug 23 21:21:24 2000
+++ format-ext-2.c	Fri Aug 25 21:32:48 2000
@@ -21,20 +21,20 @@
      This is largely obsoleted in C99 by %j, %ll and SCNd64.
   */
   scanf ("%qd%qi%qo%qu%qx%qX%qn", qp, qp, uqp, uqp, uqp, uqp, qn);
-  scanf ("%qf", fp); /* { dg-warning "length character" "bad use of %q" } */
-  scanf ("%qF", fp); /* { dg-warning "length character" "bad use of %q" } */
-  scanf ("%qe", fp); /* { dg-warning "length character" "bad use of %q" } */
-  scanf ("%qE", fp); /* { dg-warning "length character" "bad use of %q" } */
-  scanf ("%qg", fp); /* { dg-warning "length character" "bad use of %q" } */
-  scanf ("%qG", fp); /* { dg-warning "length character" "bad use of %q" } */
-  scanf ("%qa", fp); /* { dg-warning "length character" "bad use of %q" } */
-  scanf ("%qA", fp); /* { dg-warning "length character" "bad use of %q" } */
-  scanf ("%qs", s); /* { dg-warning "length character" "bad use of %q" } */
-  scanf ("%q[abc]", s); /* { dg-warning "length character" "bad use of %q" } */
-  scanf ("%qc", s); /* { dg-warning "length character" "bad use of %q" } */
-  scanf ("%qp", pp); /* { dg-warning "length character" "bad use of %q" } */
-  scanf ("%qC", ls); /* { dg-warning "length character" "bad use of %q" } */
-  scanf ("%qS", ls); /* { dg-warning "length character" "bad use of %q" } */
+  scanf ("%qf", fp); /* { dg-warning "length" "bad use of %q" } */
+  scanf ("%qF", fp); /* { dg-warning "length" "bad use of %q" } */
+  scanf ("%qe", fp); /* { dg-warning "length" "bad use of %q" } */
+  scanf ("%qE", fp); /* { dg-warning "length" "bad use of %q" } */
+  scanf ("%qg", fp); /* { dg-warning "length" "bad use of %q" } */
+  scanf ("%qG", fp); /* { dg-warning "length" "bad use of %q" } */
+  scanf ("%qa", fp); /* { dg-warning "length" "bad use of %q" } */
+  scanf ("%qA", fp); /* { dg-warning "length" "bad use of %q" } */
+  scanf ("%qs", s); /* { dg-warning "length" "bad use of %q" } */
+  scanf ("%q[abc]", s); /* { dg-warning "length" "bad use of %q" } */
+  scanf ("%qc", s); /* { dg-warning "length" "bad use of %q" } */
+  scanf ("%qp", pp); /* { dg-warning "length" "bad use of %q" } */
+  scanf ("%qC", ls); /* { dg-warning "length" "bad use of %q" } */
+  scanf ("%qS", ls); /* { dg-warning "length" "bad use of %q" } */
   /* As an extension, GCC allows the length "L" on integer formats
      (but not %n) as a synonym for "ll".
      This should be considered deprecated.
--- format-xopen-1.c.orig	Tue Aug 22 21:40:46 2000
+++ format-xopen-1.c	Fri Aug 25 21:32:48 2000
@@ -25,14 +25,14 @@
   printf ("%C", lc);
   printf ("%3C", lc);
   printf ("%.3C", lc); /* { dg-warning "precision" "precision with %C" } */
-  printf ("%hC", lc); /* { dg-warning "length character" "bad %hC" } */
-  printf ("%hhC", lc); /* { dg-warning "length character" "bad %hhC" } */
-  printf ("%lC", lc); /* { dg-warning "length character" "bad %lC" } */
-  printf ("%llC", lc); /* { dg-warning "length character" "bad %llC" } */
-  printf ("%jC", lc); /* { dg-warning "length character" "bad %jC" } */
-  printf ("%zC", lc); /* { dg-warning "length character" "bad %zC" } */
-  printf ("%tC", lc); /* { dg-warning "length character" "bad %tC" } */
-  printf ("%LC", lc); /* { dg-warning "length character" "bad %LC" } */
+  printf ("%hC", lc); /* { dg-warning "length" "bad %hC" } */
+  printf ("%hhC", lc); /* { dg-warning "length" "bad %hhC" } */
+  printf ("%lC", lc); /* { dg-warning "length" "bad %lC" } */
+  printf ("%llC", lc); /* { dg-warning "length" "bad %llC" } */
+  printf ("%jC", lc); /* { dg-warning "length" "bad %jC" } */
+  printf ("%zC", lc); /* { dg-warning "length" "bad %zC" } */
+  printf ("%tC", lc); /* { dg-warning "length" "bad %tC" } */
+  printf ("%LC", lc); /* { dg-warning "length" "bad %LC" } */
   printf ("%-C", lc);
   printf ("%+C", lc); /* { dg-warning "flag" "bad %+C" } */
   printf ("% C", lc); /* { dg-warning "flag" "bad % C" } */
@@ -42,14 +42,14 @@
   printf ("%S", ls);
   printf ("%3S", ls);
   printf ("%.3S", ls);
-  printf ("%hS", ls); /* { dg-warning "length character" "bad %hS" } */
-  printf ("%hhS", ls); /* { dg-warning "length character" "bad %hhS" } */
-  printf ("%lS", ls); /* { dg-warning "length character" "bad %lS" } */
-  printf ("%llS", ls); /* { dg-warning "length character" "bad %llS" } */
-  printf ("%jS", ls); /* { dg-warning "length character" "bad %jS" } */
-  printf ("%zS", ls); /* { dg-warning "length character" "bad %zS" } */
-  printf ("%tS", ls); /* { dg-warning "length character" "bad %tS" } */
-  printf ("%LS", ls); /* { dg-warning "length character" "bad %LS" } */
+  printf ("%hS", ls); /* { dg-warning "length" "bad %hS" } */
+  printf ("%hhS", ls); /* { dg-warning "length" "bad %hhS" } */
+  printf ("%lS", ls); /* { dg-warning "length" "bad %lS" } */
+  printf ("%llS", ls); /* { dg-warning "length" "bad %llS" } */
+  printf ("%jS", ls); /* { dg-warning "length" "bad %jS" } */
+  printf ("%zS", ls); /* { dg-warning "length" "bad %zS" } */
+  printf ("%tS", ls); /* { dg-warning "length" "bad %tS" } */
+  printf ("%LS", ls); /* { dg-warning "length" "bad %LS" } */
   printf ("%-S", ls);
   printf ("%+S", ls); /* { dg-warning "flag" "bad %+S" } */
   printf ("% S", ls); /* { dg-warning "flag" "bad % S" } */
@@ -60,22 +60,22 @@
   scanf ("%S", ls);
   scanf ("%*C%*S");
   scanf ("%2C%3S", ls, ls);
-  scanf ("%hC", ls); /* { dg-warning "length character" "bad %hC" } */
-  scanf ("%hhC", ls); /* { dg-warning "length character" "bad %hhC" } */
-  scanf ("%lC", ls); /* { dg-warning "length character" "bad %lC" } */
-  scanf ("%llC", ls); /* { dg-warning "length character" "bad %llC" } */
-  scanf ("%jC", ls); /* { dg-warning "length character" "bad %jC" } */
-  scanf ("%zC", ls); /* { dg-warning "length character" "bad %zC" } */
-  scanf ("%tC", ls); /* { dg-warning "length character" "bad %tC" } */
-  scanf ("%LC", ls); /* { dg-warning "length character" "bad %LC" } */
-  scanf ("%hS", ls); /* { dg-warning "length character" "bad %hS" } */
-  scanf ("%hhS", ls); /* { dg-warning "length character" "bad %hhS" } */
-  scanf ("%lS", ls); /* { dg-warning "length character" "bad %lS" } */
-  scanf ("%llS", ls); /* { dg-warning "length character" "bad %llS" } */
-  scanf ("%jS", ls); /* { dg-warning "length character" "bad %jS" } */
-  scanf ("%zS", ls); /* { dg-warning "length character" "bad %zS" } */
-  scanf ("%tS", ls); /* { dg-warning "length character" "bad %tS" } */
-  scanf ("%LS", ls); /* { dg-warning "length character" "bad %LS" } */
+  scanf ("%hC", ls); /* { dg-warning "length" "bad %hC" } */
+  scanf ("%hhC", ls); /* { dg-warning "length" "bad %hhC" } */
+  scanf ("%lC", ls); /* { dg-warning "length" "bad %lC" } */
+  scanf ("%llC", ls); /* { dg-warning "length" "bad %llC" } */
+  scanf ("%jC", ls); /* { dg-warning "length" "bad %jC" } */
+  scanf ("%zC", ls); /* { dg-warning "length" "bad %zC" } */
+  scanf ("%tC", ls); /* { dg-warning "length" "bad %tC" } */
+  scanf ("%LC", ls); /* { dg-warning "length" "bad %LC" } */
+  scanf ("%hS", ls); /* { dg-warning "length" "bad %hS" } */
+  scanf ("%hhS", ls); /* { dg-warning "length" "bad %hhS" } */
+  scanf ("%lS", ls); /* { dg-warning "length" "bad %lS" } */
+  scanf ("%llS", ls); /* { dg-warning "length" "bad %llS" } */
+  scanf ("%jS", ls); /* { dg-warning "length" "bad %jS" } */
+  scanf ("%zS", ls); /* { dg-warning "length" "bad %zS" } */
+  scanf ("%tS", ls); /* { dg-warning "length" "bad %tS" } */
+  scanf ("%LS", ls); /* { dg-warning "length" "bad %LS" } */
   /* In C99 mode (even with extensions), %aS is a floating point
      format followed by an S.
   */
--- formatz-1.c.orig	Mon Jul 17 09:03:54 2000
+++ formatz-1.c	Fri Aug 25 21:32:48 2000
@@ -12,7 +12,7 @@
 foo (void)
 {
   size_t t;
-  scanf ("%zu", &t); /* { dg-bogus "length character|format" "bogus scanf warning" } */
+  scanf ("%zu", &t); /* { dg-bogus "length|format" "bogus scanf warning" } */
   return t;
 }
 

-- 
Joseph S. Myers
jsm28@cam.ac.uk


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]