1 /* Test for printf formats. Test for ISO C warnings with MS "I64"
4 /* { dg-do compile { target { *-*-mingw* } } } */
5 /* { dg-options "-std=iso9899:1990 -pedantic -Wformat -Wno-long-long" } */
7 #define USE_SYSTEM_FORMATS
11 foo (long long ll
, unsigned long long ull
, long long *lln
,
12 long long *llp
, unsigned long long *ullp
)
14 printf ("%I64d", ll
); /* { dg-warning "'I64' ms_printf length modifier" "printf %I64d" } */
15 printf ("%I64i", ll
); /* { dg-warning "'I64' ms_printf length modifier" "printf %I64i" } */
16 printf ("%I64o", ull
); /* { dg-warning "'I64' ms_printf length modifier" "printf %I64o" } */
17 printf ("%I64u", ull
); /* { dg-warning "'I64' ms_printf length modifier" "printf %I64u" } */
18 printf ("%I64x", ull
); /* { dg-warning "'I64' ms_printf length modifier" "printf %I64x" } */
19 printf ("%I64X", ull
); /* { dg-warning "'I64' ms_printf length modifier" "printf %I64X" } */
20 printf ("%I64n", lln
); /* { dg-warning "'I64' ms_printf length modifier" "printf %I64n" } */
21 scanf ("%I64d", llp
); /* { dg-warning "'I64' ms_scanf length modifier" "scanf %I64d" } */
22 scanf ("%I64i", llp
); /* { dg-warning "'I64' ms_scanf length modifier" "scanf %I64i" } */
23 scanf ("%I64o", ullp
); /* { dg-warning "'I64' ms_scanf length modifier" "scanf %I64o" } */
24 scanf ("%I64u", ullp
); /* { dg-warning "'I64' ms_scanf length modifier" "scanf %I64u" } */
25 scanf ("%I64x", ullp
); /* { dg-warning "'I64' ms_scanf length modifier" "scanf %I64x" } */
26 scanf ("%I64X", ullp
); /* { dg-warning "'I64' ms_scanf length modifier" "scanf %I64X" } */
27 scanf ("%I64n", llp
); /* { dg-warning "'I64' ms_scanf length modifier" "scanf %I64n" } */