diff --git a/src/Parser/Parser.cpp b/src/Parser/Parser.cpp index eedb9f31..6c67d4c6 100644 --- a/src/Parser/Parser.cpp +++ b/src/Parser/Parser.cpp @@ -1025,6 +1025,8 @@ void Parser::WalkFunction(clang::FunctionDecl* FD, Cxxi::Function^ F, using namespace clang; using namespace clix; + assert (FD->getBuiltinID() == 0); + auto FT = FD->getType()->getAs(); auto CC = FT->getCallConv(); @@ -1072,6 +1074,8 @@ Cxxi::Function^ Parser::WalkFunction(clang::FunctionDecl* FD, bool IsDependent, using namespace clang; using namespace clix; + assert (FD->getBuiltinID() == 0); + auto NS = GetNamespace(FD); assert(NS && "Expected a valid namespace"); @@ -1397,6 +1401,10 @@ Cxxi::Declaration^ Parser::WalkDeclaration(clang::Decl* D, clang::TypeLoc* TL, if (!FD->isFirstDeclaration()) break; + // Check for and ignore built-in functions. + if (FD->getBuiltinID() != 0) + break; + auto F = WalkFunction(FD); HandleComments(FD, F);