diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp index 2feb1256ccf..6af81bb67ff 100644 --- a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp @@ -2333,7 +2333,9 @@ bool DwarfDebug::addCurrentFnArgument(const MachineFunction *MF, size_t Size = CurrentFnArguments.size(); if (Size == 0) CurrentFnArguments.resize(MF->getFunction()->arg_size()); - else if (ArgNo > Size) + // llvm::Function arugment size is not good indicator of how many + // arguments does the function have at source level. + if (ArgNo > Size) CurrentFnArguments.resize(ArgNo * 2); CurrentFnArguments[ArgNo - 1] = Var; return true;