From 960910a159f79ce3b42c9bb3998849694251a979 Mon Sep 17 00:00:00 2001 From: Fariborz Jahanian Date: Tue, 19 May 2009 17:08:59 +0000 Subject: Patch finishes off application of printf attribute on blocks. llvm-svn: 72111 --- clang/test/Sema/block-printf-attribute-1.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 clang/test/Sema/block-printf-attribute-1.c (limited to 'clang/test/Sema/block-printf-attribute-1.c') diff --git a/clang/test/Sema/block-printf-attribute-1.c b/clang/test/Sema/block-printf-attribute-1.c new file mode 100644 index 00000000000..ce30b8e855b --- /dev/null +++ b/clang/test/Sema/block-printf-attribute-1.c @@ -0,0 +1,15 @@ +// RUN: clang-cc %s -fsyntax-only -verify -fblocks + +int main() +{ + void (^b) (int arg, const char * format, ...) __attribute__ ((__format__ (__printf__, 1, 3))) = // expected-error {{format argument not a string type}} + ^ __attribute__ ((__format__ (__printf__, 1, 3))) (int arg, const char * format, ...) {}; // expected-error {{format argument not a string type}} + + 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 + +} + -- cgit v1.2.3