mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-10-31 08:16:47 +00:00 
			
		
		
		
	This makes llvm-pdbdump available on all platforms, although it will currently fail to create a dumper if there is no PDB reader implementation for the current platform. It implements dumping of compilands and children, which is less information than was previously available, but it has to be rewritten from scratch using the new set of interfaces, so the rest of the functionality will be added back in subsequent commits. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@228755 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			43 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| //===- DIASession.h - DIA implementation of IPDBSession ---------*- C++ -*-===//
 | |
| //
 | |
| //                     The LLVM Compiler Infrastructure
 | |
| //
 | |
| // This file is distributed under the University of Illinois Open Source
 | |
| // License. See LICENSE.TXT for details.
 | |
| //
 | |
| //===----------------------------------------------------------------------===//
 | |
| 
 | |
| #ifndef LLVM_DEBUGINFO_PDB_DIA_DIASESSION_H
 | |
| #define LLVM_DEBUGINFO_PDB_DIA_DIASESSION_H
 | |
| 
 | |
| #include "DIASupport.h"
 | |
| #include "llvm/ADT/StringRef.h"
 | |
| #include "llvm/DebugInfo/PDB/IPDBSession.h"
 | |
| 
 | |
| namespace llvm {
 | |
| class DIASession : public IPDBSession {
 | |
| public:
 | |
|   explicit DIASession(CComPtr<IDiaSession> DiaSession);
 | |
| 
 | |
|   static DIASession *createFromPdb(StringRef Path);
 | |
| 
 | |
|   uint64_t getLoadAddress() const override;
 | |
|   void setLoadAddress(uint64_t Address) override;
 | |
|   std::unique_ptr<PDBSymbolExe> getGlobalScope() const override;
 | |
|   std::unique_ptr<PDBSymbol> getSymbolById(uint32_t SymbolId) const override;
 | |
| 
 | |
|   std::unique_ptr<IPDBEnumSourceFiles> getAllSourceFiles() const override;
 | |
|   std::unique_ptr<IPDBEnumSourceFiles> getSourceFilesForCompiland(
 | |
|       const PDBSymbolCompiland &Compiland) const override;
 | |
|   std::unique_ptr<IPDBSourceFile>
 | |
|   getSourceFileById(uint32_t FileId) const override;
 | |
| 
 | |
|   std::unique_ptr<IPDBEnumDataStreams> getDebugStreams() const override;
 | |
| 
 | |
| private:
 | |
|   CComPtr<IDiaSession> Session;
 | |
| };
 | |
| }
 | |
| 
 | |
| #endif
 |