From 1a458765ac48983689ef747e601048890185a14a Mon Sep 17 00:00:00 2001 From: Vladimir Timofeev Date: Thu, 8 May 2014 05:30:13 +0400 Subject: [PATCH] Fix crash with parsing stdarg.h (or around this on Mac). Simple skip fake va_list_tag_name declaration as in clang repo in lib/Sema/SemaLookup.cpp --- src/CppParser/Parser.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/CppParser/Parser.cpp b/src/CppParser/Parser.cpp index 07f9ad9e..0e2d2efa 100644 --- a/src/CppParser/Parser.cpp +++ b/src/CppParser/Parser.cpp @@ -546,6 +546,10 @@ Class* Parser::WalkRecordCXX(clang::CXXRecordDecl* Record) if (Record->isInjectedClassName()) return nullptr; + // skip va_list_tag as in clang: lib/Sema/SemaLookup.cpp + if (Record->getDeclName() == C->getSema().VAListTagName) + return nullptr; + auto NS = GetNamespace(Record); assert(NS && "Expected a valid namespace");