172c0d7fdd3d0930c7507060e96aec7d7429a8190Benjamin Kramer//===-- DWARFCompileUnit.cpp ----------------------------------------------===//
272c0d7fdd3d0930c7507060e96aec7d7429a8190Benjamin Kramer//
372c0d7fdd3d0930c7507060e96aec7d7429a8190Benjamin Kramer//                     The LLVM Compiler Infrastructure
472c0d7fdd3d0930c7507060e96aec7d7429a8190Benjamin Kramer//
572c0d7fdd3d0930c7507060e96aec7d7429a8190Benjamin Kramer// This file is distributed under the University of Illinois Open Source
672c0d7fdd3d0930c7507060e96aec7d7429a8190Benjamin Kramer// License. See LICENSE.TXT for details.
772c0d7fdd3d0930c7507060e96aec7d7429a8190Benjamin Kramer//
872c0d7fdd3d0930c7507060e96aec7d7429a8190Benjamin Kramer//===----------------------------------------------------------------------===//
972c0d7fdd3d0930c7507060e96aec7d7429a8190Benjamin Kramer
1072c0d7fdd3d0930c7507060e96aec7d7429a8190Benjamin Kramer#include "DWARFCompileUnit.h"
1172c0d7fdd3d0930c7507060e96aec7d7429a8190Benjamin Kramer#include "llvm/Support/Format.h"
1272c0d7fdd3d0930c7507060e96aec7d7429a8190Benjamin Kramer#include "llvm/Support/raw_ostream.h"
1372c0d7fdd3d0930c7507060e96aec7d7429a8190Benjamin Kramer
14cd7c4980d4ee2d22d92a4907f2d029e67b52d732David Blaikieusing namespace llvm;
1572c0d7fdd3d0930c7507060e96aec7d7429a8190Benjamin Kramer
1672c0d7fdd3d0930c7507060e96aec7d7429a8190Benjamin Kramervoid DWARFCompileUnit::dump(raw_ostream &OS) {
17cd7c4980d4ee2d22d92a4907f2d029e67b52d732David Blaikie  OS << format("0x%08x", getOffset()) << ": Compile Unit:"
18cd7c4980d4ee2d22d92a4907f2d029e67b52d732David Blaikie     << " length = " << format("0x%08x", getLength())
19cd7c4980d4ee2d22d92a4907f2d029e67b52d732David Blaikie     << " version = " << format("0x%04x", getVersion())
20cd7c4980d4ee2d22d92a4907f2d029e67b52d732David Blaikie     << " abbr_offset = " << format("0x%04x", getAbbreviations()->getOffset())
21cd7c4980d4ee2d22d92a4907f2d029e67b52d732David Blaikie     << " addr_size = " << format("0x%02x", getAddressByteSize())
22cd7c4980d4ee2d22d92a4907f2d029e67b52d732David Blaikie     << " (next unit at " << format("0x%08x", getNextUnitOffset())
2372c0d7fdd3d0930c7507060e96aec7d7429a8190Benjamin Kramer     << ")\n";
2472c0d7fdd3d0930c7507060e96aec7d7429a8190Benjamin Kramer
25fa76f22865a8ee2adf29fdd4087b0982b7aedaf2Eric Christopher  const DWARFDebugInfoEntryMinimal *CU = getCompileUnitDIE(false);
26fa76f22865a8ee2adf29fdd4087b0982b7aedaf2Eric Christopher  assert(CU && "Null Compile Unit?");
27fa76f22865a8ee2adf29fdd4087b0982b7aedaf2Eric Christopher  CU->dump(OS, this, -1U);
2872c0d7fdd3d0930c7507060e96aec7d7429a8190Benjamin Kramer}
2972c0d7fdd3d0930c7507060e96aec7d7429a8190Benjamin Kramer
30cd7c4980d4ee2d22d92a4907f2d029e67b52d732David Blaikie// VTable anchor.
31cd7c4980d4ee2d22d92a4907f2d029e67b52d732David BlaikieDWARFCompileUnit::~DWARFCompileUnit() {
3263fd2af3892a81026f40374d08b5124e72ccff4eAlexey Samsonov}
33