From 92f18ffce75ee4baf83cf77cf83edb39e7480909 Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Tue, 17 Mar 2015 02:36:51 +0000 Subject: [PATCH] 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 --- llvm/include/llvm/Analysis/DominanceFrontierImpl.h | 2 -- llvm/include/llvm/Analysis/LoopInfoImpl.h | 2 -- 2 files changed, 4 deletions(-) diff --git a/llvm/include/llvm/Analysis/DominanceFrontierImpl.h b/llvm/include/llvm/Analysis/DominanceFrontierImpl.h index 735bfb83671d..278d29815166 100644 --- a/llvm/include/llvm/Analysis/DominanceFrontierImpl.h +++ b/llvm/include/llvm/Analysis/DominanceFrontierImpl.h @@ -23,7 +23,6 @@ namespace llvm { -namespace { template class DFCalculateWorkObject { public: @@ -37,7 +36,6 @@ public: const DomTreeNodeT *Node; const DomTreeNodeT *parentNode; }; -} template void DominanceFrontierBase::removeBlock(BlockT *BB) { diff --git a/llvm/include/llvm/Analysis/LoopInfoImpl.h b/llvm/include/llvm/Analysis/LoopInfoImpl.h index 3321f391f56c..7cc4a77c6904 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 Backedges, L->reserveBlocks(NumBlocks); } -namespace { /// Populate all loop data in a stable order during a single forward DFS. template 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