From 10dd55c548e802f3d1769f7e4e13bb1565b824e5 Mon Sep 17 00:00:00 2001 From: Reid Kleckner Date: Fri, 24 Jun 2016 17:55:40 +0000 Subject: [codeview] Emit parameter variables in the right order Clang emits them in reverse order to conform to the ABI, which requires left-to-right destruction. As a result, the order doesn't fall out naturally, and we have to sort things out in the backend. Fixes PR28213 llvm-svn: 273696 --- llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h') diff --git a/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h b/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h index 53493725c13..51dd5df1027 100644 --- a/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h +++ b/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h @@ -220,6 +220,10 @@ class LLVM_LIBRARY_VISIBILITY CodeViewDebug : public DebugHandlerBase { /// particular, locals from inlined code live inside the inlining site. void recordLocalVariable(LocalVariable &&Var, const DILocation *Loc); + /// Emits local variables in the appropriate order. + void emitLocalVariableList(ArrayRef Locals); + + /// Emits an S_LOCAL record and its associated defined ranges. void emitLocalVariable(const LocalVariable &Var); /// Translates the DIType to codeview if necessary and returns a type index -- cgit v1.2.3