diff --git a/src/CppParser/Parser.cpp b/src/CppParser/Parser.cpp index d3d1022e1c..37dada8768 100644 --- a/src/CppParser/Parser.cpp +++ b/src/CppParser/Parser.cpp @@ -3284,7 +3284,8 @@ void Parser::WalkFunction(const clang::FunctionDecl* FD, Function* F, return; auto& CGInfo = GetCodeGenFunctionInfo(codeGenTypes, FD); - F->isReturnIndirect = CGInfo.getReturnInfo().isIndirect(); + F->isReturnIndirect = CGInfo.getReturnInfo().isIndirect() || + CGInfo.getReturnInfo().isInAlloca(); unsigned Index = 0; for (const auto& Arg : CGInfo.arguments())