#include "llvm/DebugInfo/LogicalView/Core/LVCompare.h"
#include "llvm/DebugInfo/LogicalView/Core/LVLine.h"
#include "llvm/DebugInfo/LogicalView/Core/LVScope.h"
#include "llvm/DebugInfo/LogicalView/Core/LVSymbol.h"
#include "llvm/DebugInfo/LogicalView/Core/LVType.h"
#include "llvm/DebugInfo/LogicalView/LVReaderHandler.h"
#include "llvm/MC/TargetRegistry.h"
#include "llvm/Support/COM.h"
#include "llvm/Support/InitLLVM.h"
#include "llvm/Support/ScopedPrinter.h"
#include "llvm/Support/TargetSelect.h"
#include "llvm/Support/ToolOutputFile.h"
#include "llvm/Testing/Support/Error.h"
#include "gtest/gtest.h"
usingnamespacellvm;
usingnamespacellvm::logicalview;
extern const char *TestMainArgv0;
namespace {
const char *CodeViewClang = …;
const char *CodeViewMsvc = …;
const char *CodeViewPdbMsvc = …;
LVScope *getFirstScopeChild(LVScope *Parent) { … }
std::unique_ptr<LVReader> createReader(LVReaderHandler &ReaderHandler,
SmallString<128> &InputsDir,
StringRef Filename) { … }
void checkElementPropertiesClangCodeview(LVReader *Reader) { … }
void checkElementPropertiesMsvcCodeview(LVReader *Reader) { … }
void checkElementPropertiesMsvcCodeviewPdb(LVReader *Reader) { … }
struct SelectionInfo { … };
void checkElementSelection(LVReader *Reader, std::vector<SelectionInfo> &Data,
size_t Size) { … }
void checkElementComparison(LVReader *Reference, LVReader *Target) { … }
void elementProperties(SmallString<128> &InputsDir) { … }
void elementSelection(SmallString<128> &InputsDir) { … }
void compareElements(SmallString<128> &InputsDir) { … }
TEST(LogicalViewTest, CodeViewReader) { … }
}