mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-15 23:31:37 +00:00
Rewrite DIExpression::printInternal() to use the iterator interface.
NFC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@226836 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
71676d492a
commit
8d8b891500
@ -1406,27 +1406,23 @@ void DIVariable::printInternal(raw_ostream &OS) const {
|
||||
}
|
||||
|
||||
void DIExpression::printInternal(raw_ostream &OS) const {
|
||||
for (unsigned I = 0; I < getNumElements(); ++I) {
|
||||
uint64_t OpCode = getElement(I);
|
||||
for (auto E = end(), I = begin(); I != E; ++I) {
|
||||
uint64_t OpCode = *I;
|
||||
OS << " [" << OperationEncodingString(OpCode);
|
||||
switch (OpCode) {
|
||||
case DW_OP_plus: {
|
||||
OS << " " << getElement(++I);
|
||||
OS << " " << I.getArg(1);
|
||||
break;
|
||||
}
|
||||
case DW_OP_piece: {
|
||||
unsigned Offset = getElement(++I);
|
||||
unsigned Size = getElement(++I);
|
||||
OS << " offset=" << Offset << ", size=" << Size;
|
||||
OS << " offset=" << I.getArg(1) << ", size=" << I.getArg(2);
|
||||
break;
|
||||
}
|
||||
case DW_OP_deref:
|
||||
// No arguments.
|
||||
break;
|
||||
default:
|
||||
// Else bail out early. This may be a line table entry.
|
||||
OS << "Unknown]";
|
||||
return;
|
||||
llvm_unreachable("unhandled operation");
|
||||
}
|
||||
OS << "]";
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user