1 /* Test for X/Open format extensions, as found in the
2    Single Unix Specification.  Test for bug reported by
3    Pierre-Canalsat PETIT <pierrecanalsat.petit.canalsat@canal-plus.com>
4    in PR c/6547.  The test for absence of a parameter for a * width was done
5    too early in the case of operand numbers and vprintf formats.
6 */
7 /* Origin: Joseph Myers <jsm28@cam.ac.uk> */
8 /* { dg-do compile } */
9 /* { dg-options "-std=gnu99 -Wformat" } */
10 
11 #include "format.h"
12 
13 void vbar (va_list, const char *) __attribute__((__format__(__printf__, 2, 0)));
14 
15 void
foo(int i,int j,va_list va)16 foo (int i, int j, va_list va)
17 {
18   printf("%2$*1$c", i, j);
19   printf("%2$*1$c %2$*1$c", i, j); /* { dg-bogus "matching" "bogus too few dollar" } */
20   vbar(va, "%*s"); /* { dg-bogus "matching" "bogus too few vprintf" } */
21 }
22