aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2015-03-17 02:36:51 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2015-03-17 02:36:51 +0000
commit92f18ffce75ee4baf83cf77cf83edb39e7480909 (patch)
treee055a31a85e420f52252a710711f6f7a01f647a4
parent563dfdb1111f839ce48fc899761692deddc621bd (diff)
downloadllvm-92f18ffce75ee4baf83cf77cf83edb39e7480909.zip
llvm-92f18ffce75ee4baf83cf77cf83edb39e7480909.tar.gz
llvm-92f18ffce75ee4baf83cf77cf83edb39e7480909.tar.bz2
Fix ODR violations caused by putting anonymous namespaces in header files (and
then using the symbols from those anonymous namespaces from outside the anonymous namespace). This was "detected" by causing the modules selfhost to fail in some cases. The corresponding Clang bug was fixed in r232455. llvm-svn: 232457
-rw-r--r--llvm/include/llvm/Analysis/DominanceFrontierImpl.h2
-rw-r--r--llvm/include/llvm/Analysis/LoopInfoImpl.h2
2 files changed, 0 insertions, 4 deletions
diff --git a/llvm/include/llvm/Analysis/DominanceFrontierImpl.h b/llvm/include/llvm/Analysis/DominanceFrontierImpl.h
index 735bfb8..278d298 100644
--- a/llvm/include/llvm/Analysis/DominanceFrontierImpl.h
+++ b/llvm/include/llvm/Analysis/DominanceFrontierImpl.h
@@ -23,7 +23,6 @@
namespace llvm {
-namespace {
template <class BlockT>
class DFCalculateWorkObject {
public:
@@ -37,7 +36,6 @@ public:
const DomTreeNodeT *Node;
const DomTreeNodeT *parentNode;
};
-}
template <class BlockT>
void DominanceFrontierBase<BlockT>::removeBlock(BlockT *BB) {
diff --git a/llvm/include/llvm/Analysis/LoopInfoImpl.h b/llvm/include/llvm/Analysis/LoopInfoImpl.h
index 3321f39..7cc4a77 100644
--- a/llvm/include/llvm/Analysis/LoopInfoImpl.h
+++ b/llvm/include/llvm/Analysis/LoopInfoImpl.h
@@ -402,7 +402,6 @@ static void discoverAndMapSubloop(LoopT *L, ArrayRef<BlockT*> Backedges,
L->reserveBlocks(NumBlocks);
}
-namespace {
/// Populate all loop data in a stable order during a single forward DFS.
template<class BlockT, class LoopT>
class PopulateLoopsDFS {
@@ -430,7 +429,6 @@ protected:
DFSStack.push_back(std::make_pair(Block, BlockTraits::child_begin(Block)));
}
};
-} // anonymous
/// Top-level driver for the forward DFS within the loop.
template<class BlockT, class LoopT>