aboutsummaryrefslogtreecommitdiff
path: root/test/SemaObjC/format-strings-objc.m
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2008-09-26 03:32:58 +0000
committerDaniel Dunbar <daniel@zuster.org>2008-09-26 03:32:58 +0000
commit085e8f7da37a227ceee7f98b724e0a42e04d01ca (patch)
tree6e761c338b4349cbf8da6e6acbae61063258ee70 /test/SemaObjC/format-strings-objc.m
parent248e1c01d3c9de4b62bdd291e0b99a91552cc487 (diff)
Add support for CFString in format attribute.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56639 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/SemaObjC/format-strings-objc.m')
-rw-r--r--test/SemaObjC/format-strings-objc.m7
1 files changed, 7 insertions, 0 deletions
diff --git a/test/SemaObjC/format-strings-objc.m b/test/SemaObjC/format-strings-objc.m
index bdf12082a7..42c21705b5 100644
--- a/test/SemaObjC/format-strings-objc.m
+++ b/test/SemaObjC/format-strings-objc.m
@@ -26,6 +26,9 @@ typedef float CGFloat;
@interface NSConstantString : NSSimpleCString @end
extern void *_NSConstantStringClassReference;
+typedef const struct __CFString * CFStringRef;
+extern void CFStringCreateWithFormat(CFStringRef format, ...) __attribute__((format(CFString, 1, 2)));
+
//===----------------------------------------------------------------------===//
// Test cases.
//===----------------------------------------------------------------------===//
@@ -34,3 +37,7 @@ void check_nslog(unsigned k) {
NSLog(@"%d%%", k); // no-warning
NSLog(@"%s%lb%d", "unix", 10,20); // expected-warning {{lid conversion '%lb'}}
}
+
+// Check type validation
+extern void NSLog2(int format, ...) __attribute__((format(__NSString__, 1, 2))); // expected-error {{format argument not an NSString}}
+extern void CFStringCreateWithFormat2(int *format, ...) __attribute__((format(CFString, 1, 2))); // expected-error {{format argument not a CFString}}