From d7c5da48c6e57e67b2aa620e4cefa94431e60234 Mon Sep 17 00:00:00 2001 From: triton Date: Tue, 15 Jul 2014 15:53:19 +0100 Subject: [PATCH] Skip implicit records when parsing. This works around the following parse issue which would trigger an subsequent assert when handling source locations: RecordDecl 0x848e5c00 <> implicit struct __va_list definition `-FieldDecl 0x848e5c60 <> __ap 'void *' --- src/CppParser/Parser.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/CppParser/Parser.cpp b/src/CppParser/Parser.cpp index ebab89ec..8a282c76 100644 --- a/src/CppParser/Parser.cpp +++ b/src/CppParser/Parser.cpp @@ -635,6 +635,9 @@ void Parser::WalkRecord(clang::RecordDecl* Record, Class* RC) { using namespace clang; + if (Record->isImplicit()) + return; + auto headStartLoc = GetDeclStartLocation(C.get(), Record); auto headEndLoc = Record->getLocation(); // identifier location auto bodyEndLoc = Record->getLocEnd();