summaryrefslogtreecommitdiffstats
path: root/clang/test/Sema/format-strings-ms.c
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2013-08-21 21:54:46 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2013-08-21 21:54:46 +0000
commit3cba495abca1f41a17f4092c5cf3f01374271adc (patch)
tree1a5c9393d8e5f55889463147399fa953acecb622 /clang/test/Sema/format-strings-ms.c
parent3db39dc1ae6f27f10bd7bed91d40048b71c3ffc0 (diff)
downloadbcm5719-llvm-3cba495abca1f41a17f4092c5cf3f01374271adc.tar.gz
bcm5719-llvm-3cba495abca1f41a17f4092c5cf3f01374271adc.zip
Analysis: Add support for MS specific printf format specifiers
Summary: Adds support for %I, %I32 and %I64. Reviewers: hans, jordan_rose, rnk, majnemer Reviewed By: majnemer CC: cfe-commits, cdavis5x Differential Revision: http://llvm-reviews.chandlerc.com/D1456 llvm-svn: 188937
Diffstat (limited to 'clang/test/Sema/format-strings-ms.c')
-rw-r--r--clang/test/Sema/format-strings-ms.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/clang/test/Sema/format-strings-ms.c b/clang/test/Sema/format-strings-ms.c
new file mode 100644
index 00000000000..cc574a7a986
--- /dev/null
+++ b/clang/test/Sema/format-strings-ms.c
@@ -0,0 +1,9 @@
+// RUN: %clang_cc1 -fsyntax-only -verify -fms-compatibility -triple=i386-pc-win32 -pedantic %s
+
+int printf(const char *format, ...) __attribute__((format(printf, 1, 2)));
+
+void test() {
+ short val = 30;
+ printf("val = %I64d\n", val); // expected-warning{{'I64' length modifier is not supported by ISO C}} \
+ // expected-warning{{format specifies type '__int64' (aka 'long long') but the argument has type 'short'}}
+}
OpenPOWER on IntegriCloud