Browse Source

Make the parsing of function codegen info a bit more robust.

pull/47/merge
triton 13 years ago
parent
commit
92243be28f
  1. 7
      src/Parser/Parser.cpp

7
src/Parser/Parser.cpp

@ -1604,7 +1604,12 @@ void Parser::WalkFunction(clang::FunctionDecl* FD, CppSharp::AST::Function^ F,
ParamStartLoc = VD->getLocEnd(); ParamStartLoc = VD->getLocEnd();
} }
if (FD->isThisDeclarationADefinition() && !FD->isDependentContext()) bool CheckCodeGenInfo = !FD->isDependentContext();
if (auto RT = FD->getResultType()->getAs<RecordType>())
if (auto RD = RT->getAsCXXRecordDecl())
CheckCodeGenInfo &= RD->hasDefinition();
if (CheckCodeGenInfo)
{ {
auto& CGInfo = GetCodeGenFuntionInfo(CodeGenTypes, FD); auto& CGInfo = GetCodeGenFuntionInfo(CodeGenTypes, FD);
F->IsReturnIndirect = CGInfo.getReturnInfo().isIndirect(); F->IsReturnIndirect = CGInfo.getReturnInfo().isIndirect();

Loading…
Cancel
Save