Create a stub for DWARF parser unittests

Moves one DWARF-specific header to include/llvm/DebugInfo from lib/.
Add a short unittest for r179095.

llvm-svn: 179678
This commit is contained in:
Alexey Samsonov 2013-04-17 08:29:02 +00:00
parent fcc699aee8
commit 045c6c5b40
9 changed files with 66 additions and 4 deletions

View File

@ -9,7 +9,7 @@
#include "DWARFCompileUnit.h"
#include "DWARFContext.h"
#include "DWARFFormValue.h"
#include "llvm/DebugInfo/DWARFFormValue.h"
#include "llvm/Support/Dwarf.h"
#include "llvm/Support/Format.h"
#include "llvm/Support/raw_ostream.h"

View File

@ -11,7 +11,7 @@
#include "DWARFCompileUnit.h"
#include "DWARFContext.h"
#include "DWARFDebugAbbrev.h"
#include "DWARFFormValue.h"
#include "llvm/DebugInfo/DWARFFormValue.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/Dwarf.h"
#include "llvm/Support/Format.h"

View File

@ -7,7 +7,7 @@
//
//===----------------------------------------------------------------------===//
#include "DWARFFormValue.h"
#include "llvm/DebugInfo/DWARFFormValue.h"
#include "DWARFCompileUnit.h"
#include "DWARFContext.h"
#include "llvm/Support/Debug.h"

View File

@ -13,3 +13,4 @@ add_subdirectory(Option)
add_subdirectory(Support)
add_subdirectory(Transforms)
add_subdirectory(IR)
add_subdirectory(DebugInfo)

View File

@ -0,0 +1,13 @@
set(LLVM_LINK_COMPONENTS
debuginfo
object
support
)
set(DebugInfoSources
DWARFFormValueTest.cpp
)
add_llvm_unittest(DebugInfoTests
${DebugInfoSources}
)

View File

@ -0,0 +1,31 @@
//===- llvm/unittest/DebugInfo/DWARFFormValueTest.cpp ---------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#include "llvm/DebugInfo/DWARFFormValue.h"
#include "llvm/Support/Dwarf.h"
#include "gtest/gtest.h"
using namespace llvm;
using namespace dwarf;
namespace {
TEST(DWARFFormValue, FixedFormSizes) {
// Size of DW_FORM_addr and DW_FORM_ref_addr are equal in DWARF2,
// DW_FORM_ref_addr is always 4 bytes in DWARF32 starting from DWARF3.
const uint8_t *sizes = DWARFFormValue::getFixedFormSizes(4, 2);
EXPECT_EQ(sizes[DW_FORM_addr], sizes[DW_FORM_ref_addr]);
sizes = DWARFFormValue::getFixedFormSizes(8, 2);
EXPECT_EQ(sizes[DW_FORM_addr], sizes[DW_FORM_ref_addr]);
sizes = DWARFFormValue::getFixedFormSizes(8, 3);
EXPECT_EQ(4, sizes[DW_FORM_ref_addr]);
// Check that we don't have fixed form sizes for weird address sizes.
EXPECT_EQ(0, DWARFFormValue::getFixedFormSizes(16, 2));
}
} // end anonymous namespace

View File

@ -0,0 +1,16 @@
##===- unittests/DebugInfo/Makefile ------------------------*- Makefile -*-===##
#
# The LLVM Compiler Infrastructure
#
# This file is distributed under the University of Illinois Open Source
# License. See LICENSE.TXT for details.
#
##===----------------------------------------------------------------------===##
LEVEL = ../..
TESTNAME = DebugInfo
LINK_COMPONENTS := debuginfo object support
include $(LEVEL)/Makefile.config
include $(LLVM_SRC_ROOT)/unittests/Makefile.unittest

View File

@ -9,7 +9,8 @@
LEVEL = ..
PARALLEL_DIRS = ADT ExecutionEngine Support Transforms IR Analysis Bitcode
PARALLEL_DIRS = ADT ExecutionEngine Support Transforms IR Analysis Bitcode \
DebugInfo
include $(LEVEL)/Makefile.common