mirror of
https://github.com/RPCSX/llvm.git
synced 2026-01-31 01:05:23 +01:00
This implements support for writing compiland and compiland source file info to a binary PDB. This is tested by adding support for dumping these fields from an existing PDB to yaml, reading them back in, and dumping them again and verifying the values are as expected. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@276426 91177308-0d34-0410-b5e6-96231b3b80d8
53 lines
1.2 KiB
C++
53 lines
1.2 KiB
C++
//===- RawError.h - Error extensions for raw PDB implementation -*- 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_RAW_RAWERROR_H
|
|
#define LLVM_DEBUGINFO_PDB_RAW_RAWERROR_H
|
|
|
|
#include "llvm/Support/Error.h"
|
|
|
|
#include <string>
|
|
|
|
namespace llvm {
|
|
namespace pdb {
|
|
enum class raw_error_code {
|
|
unspecified = 1,
|
|
feature_unsupported,
|
|
invalid_format,
|
|
corrupt_file,
|
|
insufficient_buffer,
|
|
no_stream,
|
|
index_out_of_bounds,
|
|
invalid_block_address,
|
|
duplicate_entry,
|
|
no_entry,
|
|
not_writable,
|
|
invalid_tpi_hash,
|
|
};
|
|
|
|
/// Base class for errors originating when parsing raw PDB files
|
|
class RawError : public ErrorInfo<RawError> {
|
|
public:
|
|
static char ID;
|
|
RawError(raw_error_code C);
|
|
RawError(const std::string &Context);
|
|
RawError(raw_error_code C, const std::string &Context);
|
|
|
|
void log(raw_ostream &OS) const override;
|
|
const std::string &getErrorMessage() const;
|
|
std::error_code convertToErrorCode() const override;
|
|
|
|
private:
|
|
std::string ErrMsg;
|
|
raw_error_code Code;
|
|
};
|
|
}
|
|
}
|
|
#endif
|