summaryrefslogtreecommitdiffstats
path: root/clang/test/Analysis
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test/Analysis')
-rw-r--r--clang/test/Analysis/os_object_base.h2
-rw-r--r--clang/test/Analysis/osobject-retain-release.cpp3
2 files changed, 5 insertions, 0 deletions
diff --git a/clang/test/Analysis/os_object_base.h b/clang/test/Analysis/os_object_base.h
index e388dddd58f..2c69c9acdcf 100644
--- a/clang/test/Analysis/os_object_base.h
+++ b/clang/test/Analysis/os_object_base.h
@@ -23,6 +23,8 @@ struct OSMetaClassBase {
static OSMetaClassBase *safeMetaCast(const OSMetaClassBase *inst,
const OSMetaClass *meta);
+ OSMetaClassBase *metaCast(const char *toMeta);
+
virtual void retain() const;
virtual void release() const;
virtual void free();
diff --git a/clang/test/Analysis/osobject-retain-release.cpp b/clang/test/Analysis/osobject-retain-release.cpp
index 9bc2e204545..24d6cb284c0 100644
--- a/clang/test/Analysis/osobject-retain-release.cpp
+++ b/clang/test/Analysis/osobject-retain-release.cpp
@@ -54,6 +54,9 @@ struct OtherStruct {
OtherStruct(OSArray *arr);
};
+bool test_meta_cast_no_leak(OSMetaClassBase *arg) {
+ return arg && arg->metaCast("blah") != nullptr;
+}
void escape(void *);
void escape_with_source(void *p) {}
OpenPOWER on IntegriCloud