From 2027de3be9ed2b8c0d22b077590d347872644693 Mon Sep 17 00:00:00 2001 From: Hans Wennborg Date: Fri, 9 Dec 2011 10:51:29 +0000 Subject: fix format specifier fixit for printf("%ld", "foo"); It should reset the length modifier (unless it's a wchar_t string). llvm-svn: 146252 --- clang/test/Sema/format-strings-fixit.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (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 e87d8acef56..bfb54327b75 100644 --- a/clang/test/Sema/format-strings-fixit.c +++ b/clang/test/Sema/format-strings-fixit.c @@ -42,7 +42,7 @@ void test() { // Bad length modifiers printf("%hhs", "foo"); printf("%1$zp", (void *)0); - + // Perserve the original formatting for unsigned integers. unsigned long val = 42; printf("%X", val); @@ -57,6 +57,9 @@ void test() { printf("%f", (intmax_t) 42); printf("%f", (uintmax_t) 42); printf("%f", (ptrdiff_t) 42); + + // string + printf("%ld", "foo"); } // Validate the fixes... @@ -83,3 +86,4 @@ void test() { // CHECK: printf("%jd", (intmax_t) 42); // CHECK: printf("%ju", (uintmax_t) 42); // CHECK: printf("%td", (ptrdiff_t) 42); +// CHECK: printf("%s", "foo"); -- cgit v1.2.3