diff options
author | Adrian Prantl <aprantl@apple.com> | 2016-11-03 19:42:02 +0000 |
---|---|---|
committer | Adrian Prantl <aprantl@apple.com> | 2016-11-03 19:42:02 +0000 |
commit | dbfda63695272c2d12a6a61b18b52d3961d8e1a8 (patch) | |
tree | 84e60fd946f3806394c80e3b796986b6a5bf6f13 /llvm/unittests/IR/MetadataTest.cpp | |
parent | 8a569174928c79af07459fb92751b36624baedde (diff) | |
download | bcm5719-llvm-dbfda63695272c2d12a6a61b18b52d3961d8e1a8.tar.gz bcm5719-llvm-dbfda63695272c2d12a6a61b18b52d3961d8e1a8.zip |
Add DWARF debug info support for C++11 inline namespaces.
This implements the DWARF 5 DW_AT_export_symbols feature:
http://dwarfstd.org/ShowIssue.php?issue=141212.1
<rdar://problem/18616046>
llvm-svn: 285959
Diffstat (limited to 'llvm/unittests/IR/MetadataTest.cpp')
-rw-r--r-- | llvm/unittests/IR/MetadataTest.cpp | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/llvm/unittests/IR/MetadataTest.cpp b/llvm/unittests/IR/MetadataTest.cpp index 014a22cf64b..0a3442e6c19 100644 --- a/llvm/unittests/IR/MetadataTest.cpp +++ b/llvm/unittests/IR/MetadataTest.cpp @@ -1706,20 +1706,28 @@ TEST_F(DINamespaceTest, get) { DIFile *File = getFile(); StringRef Name = "namespace"; unsigned Line = 5; + bool ExportSymbols = true; - auto *N = DINamespace::get(Context, Scope, File, Name, Line); + auto *N = DINamespace::get(Context, Scope, File, Name, Line, ExportSymbols); EXPECT_EQ(dwarf::DW_TAG_namespace, N->getTag()); EXPECT_EQ(Scope, N->getScope()); EXPECT_EQ(File, N->getFile()); EXPECT_EQ(Name, N->getName()); EXPECT_EQ(Line, N->getLine()); - EXPECT_EQ(N, DINamespace::get(Context, Scope, File, Name, Line)); + EXPECT_EQ(N, + DINamespace::get(Context, Scope, File, Name, Line, ExportSymbols)); - EXPECT_NE(N, DINamespace::get(Context, getFile(), File, Name, Line)); - EXPECT_NE(N, DINamespace::get(Context, Scope, getFile(), Name, Line)); - EXPECT_NE(N, DINamespace::get(Context, Scope, File, "other", Line)); - EXPECT_NE(N, DINamespace::get(Context, Scope, File, Name, Line + 1)); + EXPECT_NE(N, + DINamespace::get(Context, getFile(), File, Name, Line, ExportSymbols)); + EXPECT_NE(N, + DINamespace::get(Context, Scope, getFile(), Name, Line, ExportSymbols)); + EXPECT_NE(N, + DINamespace::get(Context, Scope, File, "other", Line, ExportSymbols)); + EXPECT_NE(N, + DINamespace::get(Context, Scope, File, Name, Line + 1, ExportSymbols)); + EXPECT_NE(N, + DINamespace::get(Context, Scope, File, Name, Line, !ExportSymbols)); TempDINamespace Temp = N->clone(); EXPECT_EQ(N, MDNode::replaceWithUniqued(std::move(Temp))); |