]> granicus.if.org Git - clang/commitdiff
Add a test for r156092.
authorBob Wilson <bob.wilson@apple.com>
Thu, 3 May 2012 23:38:51 +0000 (23:38 +0000)
committerBob Wilson <bob.wilson@apple.com>
Thu, 3 May 2012 23:38:51 +0000 (23:38 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156132 91177308-0d34-0410-b5e6-96231b3b80d8

test/Sema/Inputs/format-unused-system-args.h [new file with mode: 0644]
test/Sema/format-strings.c

diff --git a/test/Sema/Inputs/format-unused-system-args.h b/test/Sema/Inputs/format-unused-system-args.h
new file mode 100644 (file)
index 0000000..3a6b165
--- /dev/null
@@ -0,0 +1,8 @@
+// "System header" for testing that -Wformat-extra-args does not apply to
+// arguments specified in system headers.
+
+#define PRINT2(fmt, a1, a2) \
+  printf((fmt), (a1), (a2))
+
+#define PRINT1(fmt, a1) \
+  PRINT2((fmt), (a1), 0)
index 086c5c6d6fe887fb09b0ca7b74a7ff8716fec3ff..7e968899ac236e4fb1e6027f0ea57804a2d3d444 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -fsyntax-only -verify -Wformat-nonliteral %s
+// RUN: %clang_cc1 -fsyntax-only -verify -Wformat-nonliteral -isystem %S/Inputs %s
 
 #include <stdarg.h>
 typedef __typeof(sizeof(int)) size_t;
@@ -521,3 +521,10 @@ void test_other_formats() {
   dateformat(""); // expected-warning{{format string is empty}}
   dateformat(str); // no-warning (using strftime non literal is not unsafe)
 }
+
+// Do not warn about unused arguments coming from system headers.
+// <rdar://problem/11317765>
+#include <format-unused-system-args.h>
+void test_unused_system_args(int x) {
+  PRINT1("%d\n", x); // no-warning{{extra argument is system header is OK}}
+}