111
|
1 /* { dg-do compile } */
|
|
2 /* { dg-options "-std=gnu89 -Wformat" } */
|
|
3
|
|
4 int f(int *ip, char *cp)
|
|
5 {
|
|
6 __builtin_printf ("%*.*s");
|
|
7 /* { dg-warning "field width specifier '\\*' expects a matching 'int' argument" "width" { target *-*-* } .-1 } */
|
|
8 /* { dg-warning "field precision specifier '\\.\\*' expects a matching 'int' argument" "precision" { target *-*-* } .-2 } */
|
|
9 /* { dg-warning "format '%s' expects a matching 'char \\*' argument" "format" { target *-*-* } .-3 } */
|
|
10 __builtin_printf ("%*.*s", ip, *cp);
|
|
11 /* { dg-warning "field width specifier '\\*' expects argument of type 'int'" "width" { target *-*-* } .-1 } */
|
|
12 /* { dg-warning "format '%s' expects a matching 'char \\*' argument" "format" { target *-*-* } .-2 } */
|
|
13 __builtin_printf ("%s %i", ip, ip);
|
|
14 /* { dg-warning "format '%s' expects argument of type 'char \\*'" "char" { target *-*-* } .-1 } */
|
|
15 /* { dg-warning "format '%i' expects argument of type 'int'" "int" { target *-*-* } .-2 } */
|
|
16 __builtin_printf ("%s %i", cp);
|
|
17 /* { dg-warning "format '%i' expects a matching 'int' argument" "" { target *-*-* } .-1 } */
|
|
18 __builtin_printf ("%lc");
|
|
19 /* { dg-warning "format '%lc' expects a matching 'wint_t' argument" "" { target *-*-* } .-1 } */
|
|
20 __builtin_printf ("%lc", cp);
|
|
21 /* { dg-warning "format '%lc' expects argument of type 'wint_t'" "" { target *-*-* } .-1 } */
|
|
22 __builtin_scanf ("%s");
|
|
23 /* { dg-warning "format '%s' expects a matching 'char \\*' argument" "" { target *-*-* } .-1 } */
|
|
24 __builtin_scanf ("%i", cp);
|
|
25 /* { dg-warning "format '%i' expects argument of type 'int \\*'" "" { target *-*-* } .-1 } */
|
|
26 __builtin_scanf ("%lc");
|
|
27 /* { dg-warning "format '%lc' expects a matching 'wchar_t \\*' argument" "" { target *-*-* } .-1 } */
|
|
28 __builtin_scanf ("%lc", cp);
|
|
29 /* { dg-warning "format '%lc' expects argument of type 'wchar_t \\*'" "" { target *-*-* } .-1 } */
|
|
30 }
|