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