From aa8c61cf94b75946087799fad85e23ac38e8b18f Mon Sep 17 00:00:00 2001 From: Hans Wennborg Date: Fri, 9 Mar 2012 10:10:54 +0000 Subject: -Wformat-non-iso: warn about positional arguments (pr12017) This renames the -Wformat-non-standard flag to -Wformat-non-iso, rewords the current warnings a bit (pointing out that a format string is not supported by ISO C rather than being "non standard"), and adds a warning about positional arguments. llvm-svn: 152403 --- clang/test/Sema/format-strings-fixit.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'clang/test/Sema/format-strings-fixit.c') diff --git a/clang/test/Sema/format-strings-fixit.c b/clang/test/Sema/format-strings-fixit.c index 80b1be05787..800691ecc8c 100644 --- a/clang/test/Sema/format-strings-fixit.c +++ b/clang/test/Sema/format-strings-fixit.c @@ -35,7 +35,10 @@ void test() { printf("%0-f", 1.23); // - flag should stay // Positional arguments +#pragma clang diagnostic push // Don't warn about using positional arguments. +#pragma clang diagnostic ignored "-Wformat-non-iso" printf("%1$f:%2$.*3$f:%4$.*3$f\n", 1, 2, 3, 4); +#pragma clang diagnostic pop // Precision printf("%10.5d", 1l); // (bug 7394) @@ -46,7 +49,10 @@ void test() { // Bad length modifiers printf("%hhs", "foo"); +#pragma clang diagnostic push // Don't warn about using positional arguments. +#pragma clang diagnostic ignored "-Wformat-non-iso" printf("%1$zp", (void *)0); +#pragma clang diagnostic pop // Preserve the original formatting for unsigned integers. unsigned long val = 42; -- cgit v1.2.3