diff options
author | Ted Kremenek <kremenek@apple.com> | 2010-02-16 01:46:59 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2010-02-16 01:46:59 +0000 |
commit | c8b188d541d3e62a9628829d29730b40f8283da9 (patch) | |
tree | 547b58716ef049b0f076320039eba4311c1065d6 /clang/test/Sema/block-printf-attribute-1.c | |
parent | 1ee27e6d9a6ce8502d87d1862d7d9e36add1323d (diff) | |
download | bcm5719-llvm-c8b188d541d3e62a9628829d29730b40f8283da9.tar.gz bcm5719-llvm-c8b188d541d3e62a9628829d29730b40f8283da9.zip |
Refactor the logic for printf argument type-checking into analyze_printf::ArgTypeResult.
Implement printf argument type checking for '%s'.
Fixes <rdar://problem/3065808>.
llvm-svn: 96310
Diffstat (limited to 'clang/test/Sema/block-printf-attribute-1.c')
-rw-r--r-- | clang/test/Sema/block-printf-attribute-1.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/clang/test/Sema/block-printf-attribute-1.c b/clang/test/Sema/block-printf-attribute-1.c index 8ea77ece12d..c19b3788a3a 100644 --- a/clang/test/Sema/block-printf-attribute-1.c +++ b/clang/test/Sema/block-printf-attribute-1.c @@ -6,7 +6,6 @@ int main() { void (^z) (int arg, const char * format, ...) __attribute__ ((__format__ (__printf__, 2, 3))) = ^ __attribute__ ((__format__ (__printf__, 2, 3))) (int arg, const char * format, ...) {}; - // FIXME: argument type poking not yet supportted. - z(1, "%s", 1); /* { dg-warning "format \\'\%s\\' expects type \\'char \\*\\'\, but argument 3 has type \\'int\\'" } */ - z(1, "%s", "HELLO"); // OK + z(1, "%s", 1); // expected-warning{{conversion specifies type 'char *' but the argument has type 'int'}} + z(1, "%s", "HELLO"); // no-warning } |