From a2052db259c71618b4d26fcaa559b64f37e9e1a1 Mon Sep 17 00:00:00 2001 From: Stephan Bergmann Date: Tue, 4 Aug 2015 09:38:44 +0200 Subject: Workaround for ObjCIvarDecl problem Change-Id: I7eb0fccce4b8268e5d9559b2eb12778d0d288c6b --- compilerplugins/clang/refcounting.cxx | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'compilerplugins/clang/refcounting.cxx') diff --git a/compilerplugins/clang/refcounting.cxx b/compilerplugins/clang/refcounting.cxx index 460db1c42489..710880e34f66 100644 --- a/compilerplugins/clang/refcounting.cxx +++ b/compilerplugins/clang/refcounting.cxx @@ -50,6 +50,14 @@ public: bool VisitFieldDecl(const FieldDecl *); bool VisitVarDecl(const VarDecl *); + + bool WalkUpFromObjCIvarDecl(ObjCIvarDecl * decl) { + // Don't recurse into WalkUpFromFieldDecl, as VisitFieldDecl calls + // FieldDecl::getParent, which triggers an assertion at least with + // current trunk towards Clang 3.7 when the FieldDecl is actually an + // ObjCIvarDecl. + return VisitObjCIvarDecl(decl); + } }; bool BaseCheckNotSubclass(const CXXRecordDecl *BaseDefinition, void *p) { -- cgit v1.2.3