diff options
author | Reid Kleckner <rnk@google.com> | 2016-06-24 17:55:40 +0000 |
---|---|---|
committer | Reid Kleckner <rnk@google.com> | 2016-06-24 17:55:40 +0000 |
commit | 10dd55c548e802f3d1769f7e4e13bb1565b824e5 (patch) | |
tree | 97124ad2490db265e6ddd6727f2ba9d35a7d0801 /llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h | |
parent | fbaab6d57300243438b38b9879e49460f3889fe0 (diff) | |
download | bcm5719-llvm-10dd55c548e802f3d1769f7e4e13bb1565b824e5.tar.gz bcm5719-llvm-10dd55c548e802f3d1769f7e4e13bb1565b824e5.zip |
[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
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h')
-rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h | 4 |
1 files changed, 4 insertions, 0 deletions
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<LocalVariable> 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 |