Add a hashing routine that handles hashing types. Add a test for

hashing the contents of DW_FORM_data1 on top of a type with attributes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189862 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Eric Christopher
2013-09-03 21:57:57 +00:00
parent 41627cf813
commit 800a876128
7 changed files with 84 additions and 2 deletions

View File

@ -0,0 +1,29 @@
//===- 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 "../lib/CodeGen/AsmPrinter/DIE.h"
#include "../lib/CodeGen/AsmPrinter/DIEHash.h"
#include "llvm/Support/Dwarf.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/Format.h"
#include "gtest/gtest.h"
namespace {
using namespace llvm;
TEST(DIEHashData1Test, DIEHash) {
DIEHash Hash;
DIE *Die = new DIE(dwarf::DW_TAG_base_type);
DIEValue *Size = new DIEInteger(4);
Die->addValue(dwarf::DW_AT_byte_size, dwarf::DW_FORM_data1, Size);
uint64_t MD5Res = Hash.computeTypeSignature(Die);
ASSERT_TRUE(MD5Res == 0x540e9ff30ade3e4a);
delete Die;
}
}