diff options
author | Pirama Arumuga Nainar <pirama@google.com> | 2015-05-06 11:46:36 -0700 |
---|---|---|
committer | Pirama Arumuga Nainar <pirama@google.com> | 2015-05-18 10:52:30 -0700 |
commit | 2c3e0051c31c3f5b2328b447eadf1cf9c4427442 (patch) | |
tree | c0104029af14e9f47c2ef58ca60e6137691f3c9b /unittests/IR/DebugInfoTest.cpp | |
parent | e1bc145815f4334641be19f1c45ecf85d25b6e5a (diff) | |
download | external_llvm-2c3e0051c31c3f5b2328b447eadf1cf9c4427442.zip external_llvm-2c3e0051c31c3f5b2328b447eadf1cf9c4427442.tar.gz external_llvm-2c3e0051c31c3f5b2328b447eadf1cf9c4427442.tar.bz2 |
Update aosp/master LLVM for rebase to r235153
Change-Id: I9bf53792f9fc30570e81a8d80d296c681d005ea7
(cherry picked from commit 0c7f116bb6950ef819323d855415b2f2b0aad987)
Diffstat (limited to 'unittests/IR/DebugInfoTest.cpp')
-rw-r--r-- | unittests/IR/DebugInfoTest.cpp | 128 |
1 files changed, 38 insertions, 90 deletions
diff --git a/unittests/IR/DebugInfoTest.cpp b/unittests/IR/DebugInfoTest.cpp index a957b99..534663a 100644 --- a/unittests/IR/DebugInfoTest.cpp +++ b/unittests/IR/DebugInfoTest.cpp @@ -7,127 +7,75 @@ // //===----------------------------------------------------------------------===// -#include "llvm/IR/DebugInfo.h" +#include "llvm/IR/DebugInfoMetadata.h" #include "gtest/gtest.h" using namespace llvm; -namespace llvm { - -static void PrintTo(const StringRef &S, ::std::ostream *os) { - *os << "(" << (const void *)S.data() << "," << S.size() << ") = '"; - for (auto C : S) - if (C) - *os << C; - else - *os << "\\00"; - *os << "'"; -} -static void PrintTo(const DIHeaderFieldIterator &I, ::std::ostream *os) { - PrintTo(I.getCurrent(), os); - *os << " in "; - PrintTo(I.getHeader(), os); -} - -} // end namespace llvm - namespace { -#define MAKE_FIELD_ITERATOR(S) \ - DIHeaderFieldIterator(StringRef(S, sizeof(S) - 1)) -TEST(DebugInfoTest, DIHeaderFieldIterator) { - ASSERT_EQ(DIHeaderFieldIterator(), DIHeaderFieldIterator()); - - ASSERT_NE(DIHeaderFieldIterator(), MAKE_FIELD_ITERATOR("")); - ASSERT_EQ(DIHeaderFieldIterator(), ++MAKE_FIELD_ITERATOR("")); - ASSERT_EQ("", *DIHeaderFieldIterator("")); - - ASSERT_NE(DIHeaderFieldIterator(), MAKE_FIELD_ITERATOR("stuff")); - ASSERT_EQ(DIHeaderFieldIterator(), ++MAKE_FIELD_ITERATOR("stuff")); - ASSERT_EQ("stuff", *DIHeaderFieldIterator("stuff")); - - ASSERT_NE(DIHeaderFieldIterator(), MAKE_FIELD_ITERATOR("st\0uff")); - ASSERT_NE(DIHeaderFieldIterator(), ++MAKE_FIELD_ITERATOR("st\0uff")); - ASSERT_EQ(DIHeaderFieldIterator(), ++++MAKE_FIELD_ITERATOR("st\0uff")); - ASSERT_EQ("st", *MAKE_FIELD_ITERATOR("st\0uff")); - ASSERT_EQ("uff", *++MAKE_FIELD_ITERATOR("st\0uff")); - - ASSERT_NE(DIHeaderFieldIterator(), MAKE_FIELD_ITERATOR("stuff\0")); - ASSERT_NE(DIHeaderFieldIterator(), ++MAKE_FIELD_ITERATOR("stuff\0")); - ASSERT_EQ(DIHeaderFieldIterator(), ++++MAKE_FIELD_ITERATOR("stuff\0")); - ASSERT_EQ("stuff", *MAKE_FIELD_ITERATOR("stuff\0")); - ASSERT_EQ("", *++MAKE_FIELD_ITERATOR("stuff\0")); - - ASSERT_NE(DIHeaderFieldIterator(), MAKE_FIELD_ITERATOR("\0stuff")); - ASSERT_NE(DIHeaderFieldIterator(), ++MAKE_FIELD_ITERATOR("\0stuff")); - ASSERT_EQ(DIHeaderFieldIterator(), ++++MAKE_FIELD_ITERATOR("\0stuff")); - ASSERT_EQ("", *MAKE_FIELD_ITERATOR("\0stuff")); - ASSERT_EQ("stuff", *++MAKE_FIELD_ITERATOR("\0stuff")); -} - -TEST(DIDescriptorTest, getFlag) { +TEST(DebugNodeTest, getFlag) { // Some valid flags. - EXPECT_EQ(DIDescriptor::FlagPublic, DIDescriptor::getFlag("DIFlagPublic")); - EXPECT_EQ(DIDescriptor::FlagProtected, - DIDescriptor::getFlag("DIFlagProtected")); - EXPECT_EQ(DIDescriptor::FlagPrivate, DIDescriptor::getFlag("DIFlagPrivate")); - EXPECT_EQ(DIDescriptor::FlagVector, DIDescriptor::getFlag("DIFlagVector")); - EXPECT_EQ(DIDescriptor::FlagRValueReference, - DIDescriptor::getFlag("DIFlagRValueReference")); + EXPECT_EQ(DebugNode::FlagPublic, DebugNode::getFlag("DIFlagPublic")); + EXPECT_EQ(DebugNode::FlagProtected, DebugNode::getFlag("DIFlagProtected")); + EXPECT_EQ(DebugNode::FlagPrivate, DebugNode::getFlag("DIFlagPrivate")); + EXPECT_EQ(DebugNode::FlagVector, DebugNode::getFlag("DIFlagVector")); + EXPECT_EQ(DebugNode::FlagRValueReference, + DebugNode::getFlag("DIFlagRValueReference")); // FlagAccessibility shouldn't work. - EXPECT_EQ(0u, DIDescriptor::getFlag("DIFlagAccessibility")); + EXPECT_EQ(0u, DebugNode::getFlag("DIFlagAccessibility")); // Some other invalid strings. - EXPECT_EQ(0u, DIDescriptor::getFlag("FlagVector")); - EXPECT_EQ(0u, DIDescriptor::getFlag("Vector")); - EXPECT_EQ(0u, DIDescriptor::getFlag("other things")); - EXPECT_EQ(0u, DIDescriptor::getFlag("DIFlagOther")); + EXPECT_EQ(0u, DebugNode::getFlag("FlagVector")); + EXPECT_EQ(0u, DebugNode::getFlag("Vector")); + EXPECT_EQ(0u, DebugNode::getFlag("other things")); + EXPECT_EQ(0u, DebugNode::getFlag("DIFlagOther")); } -TEST(DIDescriptorTest, getFlagString) { +TEST(DebugNodeTest, getFlagString) { // Some valid flags. EXPECT_EQ(StringRef("DIFlagPublic"), - DIDescriptor::getFlagString(DIDescriptor::FlagPublic)); + DebugNode::getFlagString(DebugNode::FlagPublic)); EXPECT_EQ(StringRef("DIFlagProtected"), - DIDescriptor::getFlagString(DIDescriptor::FlagProtected)); + DebugNode::getFlagString(DebugNode::FlagProtected)); EXPECT_EQ(StringRef("DIFlagPrivate"), - DIDescriptor::getFlagString(DIDescriptor::FlagPrivate)); + DebugNode::getFlagString(DebugNode::FlagPrivate)); EXPECT_EQ(StringRef("DIFlagVector"), - DIDescriptor::getFlagString(DIDescriptor::FlagVector)); + DebugNode::getFlagString(DebugNode::FlagVector)); EXPECT_EQ(StringRef("DIFlagRValueReference"), - DIDescriptor::getFlagString(DIDescriptor::FlagRValueReference)); + DebugNode::getFlagString(DebugNode::FlagRValueReference)); // FlagAccessibility actually equals FlagPublic. EXPECT_EQ(StringRef("DIFlagPublic"), - DIDescriptor::getFlagString(DIDescriptor::FlagAccessibility)); + DebugNode::getFlagString(DebugNode::FlagAccessibility)); // Some other invalid flags. - EXPECT_EQ(StringRef(), DIDescriptor::getFlagString(DIDescriptor::FlagPublic | - DIDescriptor::FlagVector)); - EXPECT_EQ(StringRef(), - DIDescriptor::getFlagString(DIDescriptor::FlagFwdDecl | - DIDescriptor::FlagArtificial)); - EXPECT_EQ(StringRef(), DIDescriptor::getFlagString(0xffff)); + EXPECT_EQ(StringRef(), DebugNode::getFlagString(DebugNode::FlagPublic | + DebugNode::FlagVector)); + EXPECT_EQ(StringRef(), DebugNode::getFlagString(DebugNode::FlagFwdDecl | + DebugNode::FlagArtificial)); + EXPECT_EQ(StringRef(), DebugNode::getFlagString(0xffff)); } -TEST(DIDescriptorTest, splitFlags) { - // Some valid flags. +TEST(DebugNodeTest, splitFlags) { +// Some valid flags. #define CHECK_SPLIT(FLAGS, VECTOR, REMAINDER) \ { \ SmallVector<unsigned, 8> V; \ - EXPECT_EQ(REMAINDER, DIDescriptor::splitFlags(FLAGS, V)); \ - EXPECT_TRUE(makeArrayRef(V).equals(VECTOR)); \ + EXPECT_EQ(REMAINDER, DebugNode::splitFlags(FLAGS, V)); \ + EXPECT_TRUE(makeArrayRef(V).equals(VECTOR)); \ } - CHECK_SPLIT(DIDescriptor::FlagPublic, {DIDescriptor::FlagPublic}, 0u); - CHECK_SPLIT(DIDescriptor::FlagProtected, {DIDescriptor::FlagProtected}, 0u); - CHECK_SPLIT(DIDescriptor::FlagPrivate, {DIDescriptor::FlagPrivate}, 0u); - CHECK_SPLIT(DIDescriptor::FlagVector, {DIDescriptor::FlagVector}, 0u); - CHECK_SPLIT(DIDescriptor::FlagRValueReference, {DIDescriptor::FlagRValueReference}, 0u); - unsigned Flags[] = {DIDescriptor::FlagFwdDecl, DIDescriptor::FlagVector}; - CHECK_SPLIT(DIDescriptor::FlagFwdDecl | DIDescriptor::FlagVector, Flags, 0u); + CHECK_SPLIT(DebugNode::FlagPublic, {DebugNode::FlagPublic}, 0u); + CHECK_SPLIT(DebugNode::FlagProtected, {DebugNode::FlagProtected}, 0u); + CHECK_SPLIT(DebugNode::FlagPrivate, {DebugNode::FlagPrivate}, 0u); + CHECK_SPLIT(DebugNode::FlagVector, {DebugNode::FlagVector}, 0u); + CHECK_SPLIT(DebugNode::FlagRValueReference, {DebugNode::FlagRValueReference}, + 0u); + unsigned Flags[] = {DebugNode::FlagFwdDecl, DebugNode::FlagVector}; + CHECK_SPLIT(DebugNode::FlagFwdDecl | DebugNode::FlagVector, Flags, 0u); CHECK_SPLIT(0x100000u, {}, 0x100000u); - CHECK_SPLIT(0x100000u | DIDescriptor::FlagVector, {DIDescriptor::FlagVector}, + CHECK_SPLIT(0x100000u | DebugNode::FlagVector, {DebugNode::FlagVector}, 0x100000u); #undef CHECK_SPLIT } |