Added VISIBILITY_HIDDEN to classes/structs in anonymous namespace.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45749 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/AST/CFG.cpp b/AST/CFG.cpp
index df0b12d..3be5f7c 100644
--- a/AST/CFG.cpp
+++ b/AST/CFG.cpp
@@ -20,6 +20,7 @@
 #include "llvm/ADT/SmallPtrSet.h"
 #include "llvm/Support/GraphWriter.h"
 #include "llvm/Support/Streams.h"
+#include "llvm/Support/Compiler.h"
 #include <iomanip>
 #include <algorithm>
 #include <sstream>
@@ -31,7 +32,7 @@
 // SaveAndRestore - A utility class that uses RIIA to save and restore
 //  the value of a variable.
 template<typename T>
-struct SaveAndRestore {
+struct VISIBILITY_HIDDEN SaveAndRestore {
   SaveAndRestore(T& x) : X(x), old_value(x) {}
   ~SaveAndRestore() { X = old_value; }
   T get() { return old_value; }
@@ -55,7 +56,7 @@
 ///  allows us to nicely capture implicit fall-throughs without extra
 ///  basic blocks.
 ///
-class CFGBuilder : public StmtVisitor<CFGBuilder,CFGBlock*> {    
+class VISIBILITY_HIDDEN CFGBuilder : public StmtVisitor<CFGBuilder,CFGBlock*> {    
   CFG* cfg;
   CFGBlock* Block;
   CFGBlock* Succ;
@@ -1039,7 +1040,7 @@
 
 namespace {
 
-class StmtPrinterHelper : public PrinterHelper  {
+class VISIBILITY_HIDDEN StmtPrinterHelper : public PrinterHelper  {
                           
   typedef llvm::DenseMap<Stmt*,std::pair<unsigned,unsigned> > StmtMapTy;
   StmtMapTy StmtMap;
@@ -1078,9 +1079,9 @@
   }
 };
 
-class CFGBlockTerminatorPrint : public StmtVisitor<CFGBlockTerminatorPrint,
-                                                    void > 
-{
+class VISIBILITY_HIDDEN CFGBlockTerminatorPrint
+  : public StmtVisitor<CFGBlockTerminatorPrint,void> {
+  
   std::ostream& OS;
   StmtPrinterHelper* Helper;
 public: